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