press onkey evento event ejemplo javascript internet-explorer events onkeydown

evento - onkeydown javascript ejemplo



Por qué el oyente keydown no funciona en IE (2)

Estoy tratando de ejecutar esto en IE 8 pero no funciona, ¿alguna idea? Funciona en Firefox, Chrome, Opera ...

preventBackspace(); function preventBackspace() { try { if (window.addEventListener) { window.addEventListener("keydown", onKeyDown, true); } else if (window.attachEvent) { // IE alert(window); window.attachEvent("onkeydown", onKeyDown); } else { document.addEventListener("keydown", onKeyDown, true); } } catch (e) { alert(e); } } function onKeyDown(e) { alert("test!"); }

jsfiddle:

http://jsfiddle.net/ubfBq/

window.attachEvent está definido y se agregó el detector de eventos. ¡Pero nunca muestra "prueba"! alerta.

Leí algo sobre el flag useCapture, que es posible usar en los otros métodos. Captura la pulsación de tecla en la ventana antes de que el evento "baje". Internet Explorer no parece permitir / usar esto. ¿Ese es el problema? Si es así, ¿cómo puedo resolverlo?


Parece que solo IE9 y keydown posteriores soportan el keydown enlace en la window : http://www.quirksmode.org/dom/events/keys.html#t00

En su lugar, agréguelo al document para IE:

function preventBackspace() { try { if (window.addEventListener) { window.addEventListener("keydown", onKeyDown, true); } else if (document.attachEvent) { // IE alert(document); document.attachEvent("onkeydown", onKeyDown); } else { document.addEventListener("keydown", onKeyDown, true); } } catch (e) { alert(e); } }


Use document.attachEvent en su lugar. :]