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

时间:2010-03-03 06:14:46

标签: 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>

1 个答案:

答案 0 :(得分:41)

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

element.addEventListener("keydown", keyDownTextField, false);

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

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

查看示例here