如何测试 HTML 元素是否被聚焦?我想在一个下拉选择列表没有被选中的时候执行一段代码。因此,如果你在文档中的任何其他位置点击而不是选择列表,JavaScript 将取消所有元素的选择。
这个语句没有起作用:
var items=document.getElementById("items");
items.focused==false;
我希望有人能够帮助我。
如何测试 HTML 元素是否被聚焦?我想在一个下拉选择列表没有被选中的时候执行一段代码。因此,如果你在文档中的任何其他位置点击而不是选择列表,JavaScript 将取消所有元素的选择。
这个语句没有起作用:
var items=document.getElementById("items");
items.focused==false;
我希望有人能够帮助我。
JavaScript的较新版本允许这样做:
if( items.matchesSelector(":focus"))
但是对于较旧的浏览器,您可以尝试以下方法:
if( document.querySelector("#items:focus"))
然而,在IE 7及更早版本中,这将无法正常工作。
如果您需要支持这些浏览器,那么我建议您的处理程序使用类似以下方式:
// some means of attaching a handler(evt) {
evt = evt || window.event;
var target = evt.srcElement || evt.target;
while(target) {
if( target.id == "items") return true;
target = target.parentNode;
}
// #items is not the target. Do something.
onblur
,当某个元素失去焦点时会调用该事件。 - RononDex=== document.activeElement
- crush