如何在jquery.click()事件中排除元素类作为目标

How can I exclude an element class from being a target in jquery .click() event?

本文关键字:元素 排除 目标 事件 jquery click      更新时间:2023-09-26

我在网上搜索过这个问题的答案,但没有雪茄,所以这是我的问题。

我有两个HTMLdiv;两者都包含在包装器div中,但其中一个在CSS中有z-index:101,以及100%的宽度和高度。当触发jquery点击事件时,这自然会将它"放在"另一个div,.object之上(按z索引)。这导致这个overlaydiv成为click的e.target,但我需要将.object类作为目标。因此,从jquery点击事件中排除HTML元素是可能的(如果是,如何排除)?

作为参考,我正在使用的jquery点击事件代码:

$(document).click(function(e) {
            if(e.target.parentNode.parentNode.classList.contains("object")) {
                globalSelected.classList.remove('selected') ;
                globalSelected=e.target.parentNode.parentNode;
                globalSelected.classList.add('selected') ;
            } else {
                globalSelected.classList.remove('selected') ;
                globalSelected=null;
            }
});
$('.overlay').on('click', function() {
  $(this).siblings('.object').trigger('click');
});

如果没有更多的上下文,我不确定这是否会引起任何不良的副作用。

事实上,我在发布问题几分钟后就找到了自己问题的解决方案,尽管我已经提前在谷歌上搜索了几个小时。我只需要添加指针事件:无;到覆盖的CSS。