如何测试HTML元素是否聚焦?我想在未选择下拉列表选择列表时执行代码。因此,如果单击文档,除了选择列表之外的其他任何位置,JavaScript都会取消选择所有元素。
此声明无效:
var items=document.getElementById("items");
items.focused==false;
我希望有人可以帮助我。
答案 0 :(得分:4)
较新版本的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.