gpt4 book ai didi

Javascript Jquery - 如果单击子元素则不关闭

转载 作者:行者123 更新时间:2023-12-02 19:53:23 24 4
gpt4 key购买 nike

好吧,我有一个脚本可以关闭所有 div,除非这些 div 具有此类名称。以下脚本运行良好:

window.onclick = function(ev){
if((ev.target.className !== 'ddHeader') && (ev.target.className !== 'ddSubmenu')&&
(ev.target.className !== 'ddContainer')&& (ev.target.className !== 'ddItem')){
delay_close_sub();
}
};

所以现在我需要对子元素做同样的事情。我想将其添加到上面的代码中,类似于:

window.onclick = function(ev){
if((ev.target.className !== 'ddHeader') && (ev.target.className !== 'ddSubmenu')&&
(ev.target.className !== 'ddContainer')&& (ev.target.className !== 'ddItem') &&
ev.target.element !== 'ddHeader > input){
delay_close_sub();
}
};

我在末尾添加了: ev.target.element !== 'ddHeader > input') 但它不起作用。我该如何做这个工作?我想确保当 ddHeader div 内的输入字段被单击时,它不会触发“delay_close_sub() 函数。

感谢您的帮助。

最佳答案

您可以以更 高效 紧凑的方式使用 JQuery:

$(window).click(function(ev){
if(!$(ev.target).is('.ddHeader,.ddSubmenu,.ddContainer,.ddItem,.ddHeader > input'))
delay_close_sub();
});

这意味着如果事件目标与任何逗号分隔的选择器都不匹配,请关闭您的事物。

关于Javascript Jquery - 如果单击子元素则不关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8963731/

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