我要停止从孩子到父母的事件传播,我有一堆li
包含a
.
$('li a[rel=close]').live('click', function(e){
e.stopPropagation();
e.preventDefault();
})
但它不会停止活动。有什么建议吗?
我要停止从孩子到父母的事件传播,我有一堆li
包含a
.
$('li a[rel=close]').live('click', function(e){
e.stopPropagation();
e.preventDefault();
})
但它不会停止活动。有什么建议吗?
stopPropagation
有问题live
,来自 jQuery stopPropagation文档 -
由于 .live() 方法在事件传播到文档顶部后处理事件,因此无法停止实时事件的传播
正如 Rob W 所说,您的代码可以正常工作bind
,这是一个演示 - http://jsfiddle.net/TmKyT/
使用.bind
而不是.live
. 该live
事件在传播树的末尾触发。live
仅比bind
您还想为稍后创建的元素绑定事件侦听器时更有用。
也许尝试使用委托?
$('ul.parent').delegate('li a[rel=close]', 'click', function( event ) {
}