Warum der Schlüsseldown-Listener nicht in IE funktioniert
-
14-11-2019 - |
Frage
Ich versuche, dies in IE 8 auszuführen, aber es funktioniert nicht, jede Idee?Es funktioniert in Firefox, Chrom, Oper ... generasacodicetagpre.
jsfiddle:
window.attachEvent ist definiert und der Ereignislistener hinzugefügt.Aber es zeigt nie "Test!"Alarm.
Ich lese etwas über Ussecapture-Flagge, das in den anderen Methoden möglich ist.Es erfasst den Tastendruck auf dem Fenster, bevor das Ereignis "geht".Internet Explorer scheint dies nicht zuzulassen.Ist das das Problem?Wenn ja, wie kann ich es lösen?
Lösung
Use document.attachEvent instead. :]
Andere Tipps
It appears that only IE9 and later support binding keydown
on window
: http://www.quirksmode.org/dom/events/keys.html#t00
Instead, bind it to the document
for 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);
}
}