2010-03-03 17 views
14

Jeśli zastąpisz "onkeydown" przez "kliknięcie", to przynajmniej reaguje.JavaScript: addEventListener z onkeydown nie wydaje się działać

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

Odpowiedz

37

typu zdarzenie powinno być "keydown" zauważyć, że nie trzeba się na prefix:

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

Należy również zauważyć, że powinieneś dostać keyCode z obiektu zdarzenia w przewodnika:

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

Sprawdź przykład here.

Powiązane problemy