6

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

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

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

当您将鼠标悬停在“搜索”链接上时,将显示搜索表单。当您现在单击选择字段以打开其中的选项,然后不选择任何内容,将表单留在右侧(将鼠标移过灰色块的右边缘),选择字段保持打开状态,而所有内容eles 消失(应该如此)。

现在我想让选择元素再次处于非活动状态,这样它就不会保持打开状态,或者只要选择元素仍然打开,它就不会阻止表单的其余部分消失。

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

谢谢帮助。

4

2 回答 2

3

您可以尝试:focus选择器:

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

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

于 2012-06-20T16:17:25.763 回答
0

您可以像这样使用全局布尔变量:

var isFocused;
$(document).ready(function(){
    $('select').focus(function(){
        isFocused = true;
    }).blur(function(){
        isFocused = false;
    });
});
于 2012-06-20T16:24:09.743 回答