Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery-将多个元素选择器与:not-how组合_Javascript_Jquery - Fatal编程技术网

Javascript jQuery-将多个元素选择器与:not-how组合

Javascript jQuery-将多个元素选择器与:not-how组合,javascript,jquery,Javascript,Jquery,我有一个魔鬼的时间让两个选择器一起工作,以及当我宣布分离 我的问题: 当我移动到某个元素未包含的任何输入或锚定标记时,我想关闭一个菜单。当我显式地为输入和锚定编写代码时,我得到了我需要的行为——但是当我试图压缩代码并将它们组合在一起时,它的行为很奇怪,无法按预期工作 因此,基本上,当用户焦点位于输入字段或锚定中,而该字段或锚定不是选择器的子项时,我希望关闭一个菜单。当我使用两个sperate处理程序时,它是有效的。我想把它们结合起来 我正在努力缩短这个 jQuery('#hdr input:no

我有一个魔鬼的时间让两个选择器一起工作,以及当我宣布分离

我的问题:

当我移动到某个元素未包含的任何输入或锚定标记时,我想关闭一个菜单。当我显式地为输入和锚定编写代码时,我得到了我需要的行为——但是当我试图压缩代码并将它们组合在一起时,它的行为很奇怪,无法按预期工作

因此,基本上,当用户焦点位于输入字段或锚定中,而该字段或锚定不是选择器的子项时,我希望关闭一个菜单。当我使用两个sperate处理程序时,它是有效的。我想把它们结合起来

我正在努力缩短这个

jQuery('#hdr input:not(#opt *)')
.focusin(function(event){
   setTimeout(function(){
       jQuery("#opt").hide()
   },100);
 });
jQuery('#hdr a:not(#opt *)')
.focusin(function(event){
   setTimeout(function(){
       jQuery("#opt").hide();
   },100);
 });
我试着把所有这些都写进一行,但都没有用:

jQuery('#hdr a input:not(#opt *)')
jQuery('#hdr a, #hdr input:not(#opt *)') <-- I expect this to work, but doesn't.
jQuery('#hdr a,input:not(#opt *)')
jQuery('#hdr *:not(#opt *)')
它似乎只在我执行单个参数(如hdr a或hdr输入)时起作用,但当我尝试组合它们时,运气不佳。我到处寻找,但没有运气。

您可以使用not方法:

有时,使用方法而不是一个巨大的选择器字符串会更好、更具可读性。

您可以使用not方法:


有时,使用方法而不是一个巨大的选择器字符串会更好、更具可读性。

所有元素都是opt的子元素,而不是选择器确保opt是父元素,并且其中的所有元素或节点都不会被事件处理程序阻止。就像小提琴中的这个:

@elclanrs的方法同样有效

$("#hdr a:not(#opt), #hdr input:not(#opt)")

所有元素都是opt的子元素,而不是选择器确保阻止事件处理程序处理作为父元素的opt及其所有元素或节点。就像小提琴中的这个:

@elclanrs的方法同样有效

$("#hdr a:not(#opt), #hdr input:not(#opt)")

是的-天哪,我本来想用find,但不知道为什么我不用它。你的方法很有效!非常感谢。是的-天哪,我本来想用find,但不知道为什么我不去用它。你的方法很有效!非常感谢。