2011-04-02 8 views
0

私はテーブル/グリッドのリンクでイベントを添付するために私のプロジェクトにlivequeryを使用しています。グリッドはページ番号が付けられたajax呼び出しです。 クリックすると確認できるリンクが表示されます。このクリックイベントは、ライブクエリを使用してグリッドに関連付けられます。

グリッド/テーブル構造のモックアップが以下にあります。 #ajaxGrid部分は、ページ区切りajax呼び出しでHTMLとして返されます。このような状況でlivequeryの代わりに.live()または.delegate()を使用するにはどうすればよい代替ページ区切りグリッドのイベントを添付するlivequeryの場合

<div id="ajaxgridDiv"> 
    <div id="ajaxGrid"> 
    <a href="#" class="confirmableLink">Click here for a Jquery UI dialog</a> 
    <div class="paginator"> 
     //links to prev/next pages. 
    </div> 
    </div> 
</div> 

。私の問題は、'load'イベントをデリゲートを使って添付することができないという事実から発生します。そのようなイベントはバブリングされません。

答えて

0

私が思い付くことができる唯一のソリューションでした:

<script type="text/javascript"> 
$(function(){ 
    $('ajaxGrid').trigger('ajaxGridLoadEvent'); 
}); 
</script> 

ようajaxGrid HTMLと一緒にスクリプトスニペットを返し、メインページに委任を構成するとして:

<script type="text/javascript"> 
$(function(){ 
    $('ajaxGridDiv').delegate('#ajaxGrid','ajaxGridLoadEvent',function(){ 
     //attach click events to the confirmableLinks 
    }); 
}); 
</script> 
+0

この利用可能な最良の答えではないかもしれません。しかし、私はこれを使用して試しても問題なく動作します。 – frictionlesspulley

関連する問題