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:
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. :]