1

这似乎是一个简单的问题,但我在这里找不到答案,甚至无法使用谷歌。(“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()完全删除了。这不是一个足够互动的形式,用户会错过它。但我仍然非常好奇如何确定“可聚焦性”。

4

0 回答 0