我有 3 个 html 列,它们都充满了子元素,我想在用户单击除该列之外的任何地方时触发一些 jquery。
$('html').click(function(e) {
if(!$(e.target).hasClass('column1') )
{
console.log('triggered jquery');
}
});
<div class="column1"></div>
<div class="column2"></div>
<div class="column3"></div>
event.stopPropagation()
会破坏其他 jquery 事件,所以我不想使用它。
.hadClass
将检测 column1 是否被点击,但不包括 column1 的 child 。
最佳答案
请试试这个:
$('html *:not(div.column1)').click(function(e) {
console.log('triggered jquery');
});
或
$('html').click(function(e) {
if(!$(e.target).hasClass('column1') || $(e.target).closest('.column1').length > 0 )
{
console.log('triggered jquery');
}
});
关于javascript - 我想要一个不使用 'click anywhere except this div' 或 'event.stopPropagation();' 的 '.length' 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24760822/