Javascript: addEventListener with onkeydown doesn't seem to work

0 votes
asked Mar 3, 2010 by chimerical

If you replace "onkeydown" with "click", it reacts, at least.

<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 Answer

0 votes
answered Mar 3, 2010 by cms

The event type should be "keydown", notice that you don't need the on prefix:

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

Note also that you should get the keyCode from the event object in your handler:

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

Check an example here.

Welcome to Q&A, where you can ask questions and receive answers from other members of the community.
Website Online Counter

...