0

如何检查 2 个元素是否没有焦点?

我有一个文本框和下拉列表。如果它们都不是焦点,我想隐藏下拉菜单。

我可以检查以下代码吗?

if (!$("#dropdown,#textbox").is(":focus"))
4

3 回答 3

4
if ($("#dropdown,#textbox").is(":focus")) //its valid it will validate any
{
    $("#dropdown").show();
}else{
    $("#dropdown").hide();
}
于 2013-03-25T15:12:39.660 回答
0

document.activeElement将返回当前聚焦的元素,然后您所要做的就是检查 ID 是否不匹配,dropdown或者textbox,不需要 jQuery!

var focused = document.activeElement.id;

if ( focused != 'dropdown' && focused != 'textbox') {
   document.getElementById('dropdown').style.display = 'none';
}

或 jQuery 版本:

$('#dropdown').toggle( !$("#dropdown, #textbox").is(":focus") );
于 2013-03-25T15:11:05.097 回答
0

尝试:

if ( !$('#dropdown').is(':focus') && !$("#textbox").is(':focus') ) { your function here }
于 2013-03-25T15:14:08.313 回答