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

Tim*_*imG 6 forms jquery

反正我是否可以通过jQuery检测到当前选择的表单元素是否处于活动状态?

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

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

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

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

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

谢谢你的帮助.

Vis*_*ioN 3

您可以尝试:focus选择器:

if (!$("select").is(":focus")) {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

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

  • 尽管这是一个老问题:当您做出选择后关闭选项列表时, <select> 仍然处于焦点状态...... (15认同)