2

.on が .live を置き換えることになっていることはしばらく前から知っていましたが、まったく機能させることができませんでした。

私が試してみました:

$(this).on('click', function(){
    // Do something...
})

$(this).on({
    click: function(){ // Do something }
})

しかし、それは私にとっては決してうまくいきません!

特に、最初にページに存在しない可能性のある要素にイベントをバインドしようとしている場合。

誰かが私のためにこれを一度だけ片付けてもらえますか?


私は最新バージョンのjqueryを使用しています。

4

3 に答える 3

2

次のようにします。

$(".parent").on('click', ".child", function(){
    // Do something...
})

使用している構文は、のように機能しbindます。イベントを将来のすべての要素にバインドするには、上記の構文を使用します。

于 2013-01-09T06:31:15.227 に答える
2

動的に生成された要素の場合、次のように使用する必要があります

$(document).on('click','YOUR SELECTOR', function(){

});

これは、ドキュメントが DOM への変更を監視できる要素のコンテナーであるためです。すべてのアクションに対して、明示的なイベント リスナーが必要です。何かを $(this) にバインドする場合、それ (セレクター) を削除すると存在しない可能性があります。

于 2013-01-09T06:33:52.290 に答える
1

どの要素を指定する必要があります。

$element.on('click', '.foo', handler)

内部handlerのすべてのライブにバインドされます。.foo$element

于 2013-01-09T06:30:40.413 に答える