JavaScript:addEventListener与onkeydown似乎无法正常工作

14

如果你将"onkeydown"替换为"click",它至少会有反应。

<input id="yourinput" type="text" />

<script type="text/javascript">
document.getElementById("yourinput").addEventListener("onkeydown", keyDownTextField, false);

function keyDownTextField() {
alert("functional");    
if(keycode==13) {
        alert("You hit the enter key.");
    }
    else{
        alert("Oh no you didn't.");
    }
}
</script>
1个回答

46
事件类型应为"keydown",请注意无需使用on前缀:
element.addEventListener("keydown", keyDownTextField, false);

请注意,在处理程序中应从事件对象中获取keyCode:

还需注意,您需要从事件对象中获取keyCode

function keyDownTextField (e) {
  var keyCode = e.keyCode;
  //...
}

在这里查看一个例子


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接