gpt4 book ai didi

javascript - Jquery点击多个div/元素之外

转载 作者:行者123 更新时间:2023-12-03 07:18:04 26 4
gpt4 key购买 nike

有两个部分targetDiv1targetDiv2(不嵌套)。还有另一个部分collapsibleDiv。我需要在元素 targetDiv2 外部单击时运行一个函数(无论是折叠 div);但当点击 targetDiv1 时不应触发该函数。使用下面的代码我无法实现这一点..任何帮助都会很棒...

$(document).click(function(e) { 
if(!$(e.target).closest('.targetDiv1').length && !$(e.target).is('.targetDiv1')) {
$('.collapsibleDiv').slideDown();
}
});

JSFiddle 根据 @Kweiss 的回答 https://jsfiddle.net/vn8gmu8g/

最佳答案

您希望该函数在 Div1 或 Div2 外部单击时执行,但您的代码仅排除 Div1。只需添加 Div2 即可。

$(document).click(function(e) { 
var $target = $(e.target);
if(!$target.closest('.targetDiv1').length && !$target.hasClass('targetDiv1') &&
!$target.closest('.targetDiv2').length && !$target.hasClass('targetDiv2')) {
$('.collapsibleDiv').slideDown();
}
});

e.target 保存在变量中并使用 hasClass() 将使您的代码更快。

关于javascript - Jquery点击多个div/元素之外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36325909/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com