我正在尝试获取 .click()
事件div.content
除非单击具有特定类别的内容,例如 .noclick
。示例 html:
<div class="content">
<a href="#" class="noclick">
</div>
这样做不起作用,因为 <a>
从技术上讲,标签不在选择范围内:
$('.content').not('.noclick').click(function(){/*blah*/});
如果我点击 .content
上的任意位置,如何才能使点击功能起作用?除了类 .noclick
的东西?
最佳答案
您必须将它们从回调中排除:
$('.content').click(function(e) {
if ($(e.target).hasClass('noclick')) return;
});
或者阻止事件离开这些元素:
$('.noclick').click(function(e) {
e.stopPropagation();
});
我会选择第二个。您只需删除它即可,当前的代码(减去 .not()
)就会起作用。
关于javascript - 从 jQuery 选择中排除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16248881/