如果用户单击 div(聚焦 div),我想捕获特定 div 的一些事件,捕获键盘事件(如果最后一次单击不在 div 中(不聚焦 div)则不捕获)
我尝试了一些东西,但没有成功:JSFiddle
document.getElementById("box").onkeydown = function(event) {
if (event.keyCode == 13) { // ENTER
alert("Key ENTER pressed");
}
}
即使我点击 div,此代码也不起作用。
纯 JS 解决方案
最佳答案
div
元素不是 interactive content默认情况下。这意味着 return 键不会触发。如果你想让你的 div
元素是可交互的,你可以给它 contenteditable
属性:
<div id="box" contenteditable></div>
现在为了触发事件,您需要首先聚焦 div
元素(通过单击或跳转到它)。现在您按下的任何键都将由您的 onkeydown
事件处理。
关于javascript - 如何管理特定 div 上的事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23287446/