-1

重複の可能性:
jQuery-.live()を.on()に変換しますJQuery'on
' vs.'live' </a>
jQueryでlive()をon()に変換します

.live()が非推奨になっていることは知っていますが、.on()でエラーが発生します。ドームを動的に生成すると機能しません。最初のクリックでのみ機能します。.live()を使用した同じコードは正しく機能しますが。私はjquery1.8を使用しています

作業コード

$('.item').live('click', function(e) {
   alert('test');
   // ajax call that regenerates .item element
});

このコードは、最初のクリックでのみ機能します。

$('.item').on('click', function(e) {
   alert('test');
   // ajax call that regenerates .item element
});

どうしたの?

4

3 に答える 3

2

こちらのドキュメントを確認してください。.on動作が若干異なります:

$(document).on("click", ".item", function(event){
    alert('test');
    // ajax call that regenerates .item element
});
于 2013-01-08T18:45:43.190 に答える
2

Dom は Ajax によって変わるため、次のようにオンコールで親を提供する必要があります。

$("#itemParent").on("click", ".item", function(event){
  alert('test');
});
于 2013-01-08T18:45:01.610 に答える
0

Kevin B が述べたように、委譲のコンテキストとしてドキュメントを使用するか、より良い静的な親を使用します。

$(document).on('click','.item', function(e) {
   alert('test');
   // ajax call that regenerates .item element
});
于 2013-01-08T18:45:43.207 に答える