私は古いコードを見ています。ajaxで追加される要素には、多くのlivequeryコードがあることがわかります。新しいバージョンのjqueryではlivequeryはもう必要ありませんか?どのバージョン以降は必要ないのか誰かが知っていますか?
$("#somediv").livequery(function(){
$(this).click(function(){
});
});
私は古いコードを見ています。ajaxで追加される要素には、多くのlivequeryコードがあることがわかります。新しいバージョンのjqueryではlivequeryはもう必要ありませんか?どのバージョン以降は必要ないのか誰かが知っていますか?
$("#somediv").livequery(function(){
$(this).click(function(){
});
});
livequery
とはまったく異なる概念です.live()
。
この.live()
メソッドは、イベント委任を使用して、ページ上の任意の場所で発生するイベントを処理します。
livequery
DOMの変更が発生すると(jQueryメソッドを介して)ハンドラーを呼び出します。
以下の例では、要素がclass="some_class"
DOMに追加されると(またはクラスが要素に追加されると)、最初のハンドラーが実行されます。削除すると、2番目。
$('.some_class').livequery( function() {
// apply a plugin to the element
$(this).somePlugin();
}, function() {
// clean up after the element was removed
});
の実際の必要性はほとんどないはずlivequery
ですが、DOMの変更に応答する必要があり、それらの変更を引き起こしているjQueryを制御できないというまれなケースでは、これが役立つ場合があります。
on()を使用して、イベントを親または本体にアタッチする必要があります。元 :
$('#obj').livequery('click', function() { ... });
$('#obj').livequery(function() { ... });
なる
$('body').on('click', '#obj', function() { ... });
$('body').on('DOMNodeInserted','#obj', function() { ... });
DOMNodeInsertedはIE9+であることに注意してください