我是要阻止事件從孩子傳播到父母,我有一堆li
標籤包含a
。防止點擊事件影響父jQuery
$('li a[rel=close]').live('click', function(e){
e.stopPropagation();
e.preventDefault();
})
但它沒有停止事件。任何建議?
我是要阻止事件從孩子傳播到父母,我有一堆li
標籤包含a
。防止點擊事件影響父jQuery
$('li a[rel=close]').live('click', function(e){
e.stopPropagation();
e.preventDefault();
})
但它沒有停止事件。任何建議?
stopPropagation
具有live
問題,從jQuery stopPropagation文檔 -
由於.live()方法處理的事件一旦它們傳播到 文檔的頂部,它是不可能停止傳播的 現場活動
正如羅布W公司已經表示您的代碼將很好地工作bind
,這裏有一個演示 - http://jsfiddle.net/TmKyT/
''stopPropagation''適用於阻止泡泡從觸發祖先**活**事件,但它會觸發泡沫中的其他監聽器,綁定使用綁定** http://jsfiddle.net/yEnzC/ – David
使用.bind
而不是.live
。在傳播樹的末尾觸發live
事件。 live
僅當您希望爲稍後創建的元素綁定事件偵聽器時才比bind
更有用。
也許嘗試使用委託?
$('ul.parent').delegate('li a[rel=close]', 'click', function(event) {
}
事件是否至少起火?你能分享你的HTML代碼嗎? –
@SoufianeHassou是的。 – andrei
[child action不會觸發父級jquery]可能的重複(http://stackoverflow.com/questions/6975946/child-action-doesnt-trigger-parent-jquery) – AXMIM