如何确定控件是否可以接受焦点?

时间:2013-09-04 16:22:32

标签: javascript html

这似乎是一个简单的问题,但我在这里找不到答案,甚至使用谷歌。 (“javascript可以控制接受焦点”的第一个Google结果看起来很完美,但却是一个死链接。)

我有一个基本的下拉列表:

<select name="ddlScope" id="ddlScope">
<option value="-1"></option>
<option value="1">Global</option>
<option value="2">Public</option>
<option value="3">Private</option>
<option value="5">Admin</option>
</select>        

当我进行验证时,如果值无效,我想将焦点设置到控件。但它在<tr>中可能会或可能不会显示。如果<tr>不可见,focus()方法将失败:

var ddlScope = document.getElementById("ddlScope");
if (ddlScope.value == "0" || ddlScope.value == "-1")
{
    ShowAlert("Please make a valid selection for Scope.");
    ddlScope.focus();
    return false;
}

我可以检查封闭<tr>的可见性,但这会导致特定于页面的混乱黑客攻击。当我试图让它集中注意力之前,肯定有办法检查控件是否可以接受焦点?

更新:我最终放弃了,并完全删除了.focus()。它不是一个足够互动的形式,用户会错过它。但我仍然非常好奇如何确定“可聚焦性”。

0 个答案:

没有答案