2012-02-17 8 views
0

何かを見つけようと数時間を経た後、私はここに尋ねなければならないでしょうし、もう一度やり直す必要があります(私は同様の質問を見つけましたが、AJAXでjQueryのコンテキストメニューがロードされました

私はAJAX経由で動的にロードされるページ(すべてjQuery)でカスタムコンテキストメニューを使用しようとしています。問題は、コンテキストメニューが動的に読み込まれたページでは機能しないことです。右クリックしてもメニューは表示されません。

私はすでに.live()を使用することが解決策であることを発見しましたが、まだそれを動作させることはできません。

<script type="text/javascript"> 
    $(document).live("load", function() { 
     $('#testtt').contextMenu('testtt', { 
      bindings: { 
       'open': function(t) { 
        alert('Trigger was '+t.id+'\nAction was Open'); 
       }, 
       'email': function(t) { 
        alert('Trigger was '+t.id+'\nAction was Email'); 
       }, 
       'save': function(t) { 
        alert('Trigger was '+t.id+'\nAction was Save'); 
       }, 
       'delete': function(t) { 
        alert('Trigger was '+t.id+'\nAction was Delete'); 
       } 
      } 
     }) 
    }); 

</script> 
<div id="testtt">test</div> 

これはdynamiclyロードされているページ上で重要なパスである:ここでは このContextMenu plugin(単なるサンプルコードを使用して)と私の最後の試みです。

jQuery UI Sortableも使用していますが、問題ではありません。

ご協力いただきありがとうございます。

+0

あなたは何を達成しようとしていますか? 'live'はあなたが' live'を呼び出した後に構築される要素のためのものです。 'document'は常に一度しか存在しないのでここではあまり役に立ちません。実際には、セレクタ 'live'がなければ、とにかく何も気にしません。 – pimvdb

+0

まあ、最後の数日間だけjQueryで学んでいたので、私はまだjQueryのnoobです。私が書いたように、これはちょうど私の最後の試みです、私はAJAXの読み込まれたページで動作するコンテキストメニューを持つことを達成しようとしています。これまでのところ成功はありません。 – James

答えて

1

$( '#testtt')。contextMenu ...以下のようにAjax success()メソッドを呼び出してください。これにより、データが読み込まれて画面に表示された後、コンテキストメニューが確実に表示されます。それはあなたのAjaxの成功の最後のものです()。あるいは、Ajax complete()に入ることもできます。

$.ajax({ 
    type: 'GET', 
    url: 'PATH TO URL', 
    success: function(){ 
     $('#testtt').contextMenu('testtt', { 
      bindings: { 
       'open': function(t) { 
        alert('Trigger was '+t.id+'\nAction was Open'); 
       }, 
       'email': function(t) { 
        alert('Trigger was '+t.id+'\nAction was Email'); 
       }, 
       'save': function(t) { 
        alert('Trigger was '+t.id+'\nAction was Save'); 
       }, 
       'delete': function(t) { 
        alert('Trigger was '+t.id+'\nAction was Delete'); 
       } 
      } 
     }); 
    } 
}); 
+0

いいえ、助けていない。動作はまだ同じです:( – James

+0

まあ、最終的に進めました...前に試した主な問題のプラグインを使って解決しましたが、主な問題は#testttのロードではありませんでしたが、あなたの答えなしでこれを理解してもらえませんでした。 – James

関連する問題