美好的一天。我搜索过高低。一无所获。
我有这个结构:
<ul class='c1'>
<li>
AAA
<ul class='c2'>
<li>
BBB
</li>
</ul>
</li>
</ul>
和jquery处理程序:
$('.c1>li').bind('dblclick',function() {
alert('a')
});
$('.c2>li').bind('dblclick',function() {
alert('b')
});
但是当我点击C2时,我会收到两条消息,而不仅仅是&#39; b&#39;。 event.stopPropagation()无法解决问题
谢谢。
答案 0 :(得分:5)
您还需要在函数中使用event作为参数,以便与stopPropagation一起使用:
$('.c2>li').bind('dblclick',function(event) {
event.stopPropagation()
alert('b')
});
答案 1 :(得分:1)
您可以在声明后返回false
$('.c1>li').bind('dblclick', function() {
alert('a');
return false;
});
$('.c2>li').bind('dblclick', function() {
alert('b');
return false;
});
答案 2 :(得分:-1)
您可以使用此代码
$( "ul.c1 li" ).children().dblclick(function(e){
e.stopPropagation();
alert("a");
})
$( "ul.c2 li" ).children().dblclick(function(e){
e.stopPropagation();
alert("b");
})