如何测试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.
需要更多jquery – crush
@crush我知道,对吧? :d –
不是一个确切的重复,但非常接近:http://stackoverflow.com/questions/483741/how -to-determine-which-html-page-element-has-focus –
你可以使用事件'onblur',当某些东西失去焦点时被调用 – RononDex
检查项目是否=== document.activeElement' – crush