2

を使用していますが、親でハンドラーをevent.stopPropagation()使用すると問題が発生します。.live()

//does not work
$("#testlink").live({ 
    click: function(event) 
    { 
        alert('testlink'); 
    } 
}); 

//works great! 
$("#testlink").click(function() { 
  alert('testlink'); 
});

.live()コンテンツがAJAXで読み込まれるため、使用する必要があります。

誰かがこの問題で私を助けることができますか?


このようなクラスや ID をさらに使用するにはどうすればよいですか?

$('#div1', '#div2', '#div3').on('click', 'a.testlink', function(){
   alert('testlink'); 
});

これはどのように可能ですか?

4

1 に答える 1

2

on() ( @techfoobarが述べたように、live()はバージョン 1.7 で廃止され、バージョン 1.9 で削除されました) と、コンテンツが動的に生成される場合はイベント委任を使用します。

$('#container').on('click', '#testlink', function(){
   alert('testlink'); 
});

where#containerは、動的に読み込まれる要素を含む#testLink要素です ( を使用できますがdocument、ここでコンテナー要素を使用すると検索範囲が縮小され、効率が向上します)。

于 2013-05-18T17:58:27.203 に答える