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