说我有这个
<div class="parent">
<div class="child1"></div>
<div class="child2"></div>
</div>
如果点击.parent,我怎么能让jQuery做一些事情,只要没有点击.child2?我尝试使用event.stopPropagation()但它没有用。 这就是我所拥有的:
$('body').on({
click: function(event)
{
event.stopPropagation();
}
},'.child2');
$('body').on({
click: function()
{
//blah blah
}
},'.parent');
答案 0 :(得分:4)
您可以使用事件对象的stopPropagation
方法:
$('.parent').on('click', function(){
// ...
}).find('.child2').on('click', function(event){
event.stopPropagation();
});
答案 1 :(得分:1)
它实际上与停止传播一起使用。看到下面的代码,它对我有用。
(文档)$。就绪(函数(){
$(".parent").click(function(){
alert("this is test");
});
$(".parent div").click(function(e) {
e.stopPropagation();
});
});
答案 2 :(得分:0)
你可以试试这个
$(document).ready(function() {
$('.parent').on('click', function() {
alert('parent');
});
$('.child2').on('click', function() {
$('.parent').off('click');
});
});