我正在尝试让.click()
事件在div.content
上运行,除非单击具有特定类的内容,例如.noclick
。范例html:
<div class="content">
<a href="#" class="noclick">
</div>
这样做不起作用,因为
<a>
标记在技术上不在选择范围内:$('.content').not('.noclick').click(function(){/*blah*/});
如果我在
.content
上的任何地方单击(类为.noclick
的东西除外),如何使click功能起作用? 最佳答案
您必须将它们从回调中排除:
$('.content').click(function(e) {
if ($(e.target).hasClass('noclick')) return;
});
或阻止事件离开这些元素:
$('.noclick').click(function(e) {
e.stopPropagation();
});
我会选择第二个。您只需删除它,您当前的代码(减去
.not()
)就可以使用。