5

子から親へのイベントの伝播を停止する必要がありました.liを含むタグがたくさんありますa.

$('li a[rel=close]').live('click', function(e){
    e.stopPropagation();
    e.preventDefault();
})

しかし、それはイベントを止めません.何か提案はありますか?

4

3 に答える 3

3

stopPropagationlivejQuery stopPropagation docsから、に問題があります-

.live() メソッドは、ドキュメントの先頭に伝播したイベントを処理するため、ライブ イベントの伝播を停止することはできません。

Rob W があなたのコードは でうまく動作すると言っているのでbind、ここにデモがあります - http://jsfiddle.net/TmKyT/

于 2011-10-08T10:14:54.027 に答える
1

.bindの代わりに使用し.liveます。liveイベントは伝播ツリーの最後でトリガーされます。後で作成される要素のイベントリスナーもバインドする場合liveよりも便利です。bind

于 2011-10-08T10:15:18.440 に答える
0

デリゲートを使ってみては?

$('ul.parent').delegate('li a[rel=close]', 'click', function( event ) {

}
于 2011-10-08T10:18:22.457 に答える