0

テーブル内のajaxでチャージされた要素のクリックイベントをキャプチャする必要があります。

動的コンテンツを取得した後、次の要素の総数でアラート結果を確認できます。alert($( "。link")。length);

私が選択したすべての要素にはクラス「リンク」があり、この要素のどれがクリックされたかを知る必要があります。

-> $( "。link")。click(function()...を試しましたが、すでに存在する要素だけがキャプチャされていることがわかりました。ajaxによってチャージされた要素はすべて無視されます。

4

3 に答える 3

1

100%確実にするためにいくつかのコードを使用できますが、これは機能し、フィドルを使用します。

HTML:

<table>
    <tr class="list"><td>One</td></tr>
    <tr class="list"><td>Two</td></tr>
    <tr class="list"><td>Three</td></tr>
</table>

JS:

$("table").delegate('.list', 'click', function() {  
    var whichOne = $(this).text();
    alert("Handler for .click() called for " + whichOne);
});

http://jsfiddle.net/ADg2P/2/

更新:代わりにデリゲートを使用してください。ajaxの部分を見逃しました。

于 2013-02-21T21:47:33.757 に答える
0

onjQuery が提供するメソッドを見てみましょう。またはlive、古いバージョンの jQuery を使用している場合。ここを参照してください。

バインド手順は次のようになります。

$('.link').on('click', function() {
   // your code here
});

これにより、既存の要素だけでなく、AJAX によって提供される新しい要素も、指定したクリック イベントにバインドされます。

お役に立てれば。

于 2013-02-21T21:45:23.493 に答える
0

onjQuery 1.7 以降を使用している場合は、このメソッドを使用してください。

この優れた記事を読んでください - http://www.elijahmanor.com/2012/02/differences-between-jquery-bind-vs-live.html

于 2013-02-21T21:46:17.020 に答える