如何使用jquery检查select元素是否仍处于“打开”/活动状态

无论如何,我可以通过jQuery检测到当前选择的表单元素是否处于活动状态?

我创建了这个小提琴来演示这个问题:

http://jsfiddle.net/E2PhT/2/

当您将鼠标hover在“搜索”-Link上时,搜索表单会显示出来。 当您现在单击选择字段以打开内部选项,然后在不选择任何内容的情况下,将表单保留在右侧(将鼠标移动到灰色块的右边缘),选择字段保持打开状态eles消失(应该如此)。

现在我想要使select元素再次处于非活动状态,因此只要select元素仍处于打开状态,它就不会保持打开状态或阻止表单的其余部分消失。

所以无论哪种方式,我都必须以某种方式检测选择字段是否仍处于打开或活动状态。 有没有办法用jQuery检查这个状态?

谢谢你的帮助。

您可以尝试:focus选择器:

 if (!$("select").is(":focus")) { // ... } 

演示: http //jsfiddle.net/E2PhT/3/

您可以使用如下全局布尔变量:

 var isFocused; $(document).ready(function(){ $('select').focus(function(){ isFocused = true; }).blur(function(){ isFocused = false; }); });