我是要阻止事件从孩子传播到父母,我有一堆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