【发布时间】:2016-07-25 15:24:29
【问题描述】:
假设我有以下 div 在满足特定条件后获得焦点:
<div id="myID" tabindex="-1" >Some Text</div>
我想创建一个处理程序来检查该 div 是否具有焦点,并且当它评估为 true/焦点在 div 上时,执行一些操作(在下面的示例中,打印控制台日志):
if (document.getElementById('#myID').hasFocus()) {
$(document).keydown(function(event) {
if (event.which === 40) {
console.log('keydown pressed')
}
});
}
我在控制台中收到一条错误消息:
TypeError: 无法读取 null 的属性“hasFocus”
知道我在这里做错了什么吗?也许是我传递 div Id 的方式?
【问题讨论】:
-
不知道为什么这被标记为重复(另一个主题提出了一个完全不同的问题),但今天我们可以使用
matches()方法。var el = document.getElementById('myElement'); el.matches(':focus'); // If it has focus, it will return true.
标签: javascript jquery html