Javascript:带onkeydown的addEventListener似乎不起作用

chi*_*cal 14 javascript

如果用"点击"替换"onkeydown",它至少会做出反应.

<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>
Run Code Online (Sandbox Code Playgroud)

CMS*_*CMS 42

事件类型应该是 "keydown",请注意您不需要on前缀:

element.addEventListener("keydown", keyDownTextField, false);
Run Code Online (Sandbox Code Playgroud)

另请注意,您应该keyCode从处理程序中的事件对象获取:

function keyDownTextField (e) {
  var keyCode = e.keyCode;
  //...
}
Run Code Online (Sandbox Code Playgroud)

点击这里查看示例.