我很高兴让两个选择器一起工作,就像我宣布分开时一样。
我的问题:
当我移动到任何不包含在某个元素中的输入或锚标记时,我想关闭一个菜单。当我为输入和锚点显式编码时,我得到了我需要的行为 - 但是当我尝试压缩我的代码并将它们组合时,它的行为很奇怪并且不能按预期工作。
因此,基本上,当用户焦点位于不是我的选择器子项的输入字段或锚点时,我想关闭菜单。当我使用两个单独的处理程序时,它可以工作。我想把它们结合起来。
我正在尝试缩短这个......
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 *)')
它似乎只在我执行单个 arg 时有效:#hdr a 或 #hdr input 但是当我尝试将它们组合时,没有运气。我搜索了高低,但没有运气。