如何测试 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.

关于javascript - 未选择检测元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20953135/

10-13 09:37