Próbuję uruchomić to w IE 8, ale to nie działa, jakiś pomysł? To działa w Firefox, Chrome, Opera ...Dlaczego słuchacz keydown nie działa w IE
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 jest zdefiniowany i dodany detektor zdarzeń. Ale nigdy nie pokazuje "testu!" alarm.
Przeczytałem coś na temat flagi useCapture, której można użyć w innych metodach. Przechwytuje naciśnięcie klawisza w oknie, zanim zdarzenie "zejdzie". Internet Explorer wydaje się nie zezwalać/używać tego. Czy to jest problem? Jeśli tak, jak mogę to rozwiązać?
Można lepiej wykorzystać jQuery zamiast wymyślania koła . Rozwiązuje wiele różnych rzeczy z okropną przeglądarką o nazwie IE – Codebeat
Tak, to jest bardzo mała sekcja javascript wewnątrz projektu flex i nie chcę ładować JQuery tylko na kilka sposobów. – Ixx
OK, ale myślę, że jest to fałszywy argument i sam tworzysz problem, gdy rozwiązanie już istnieje. – Codebeat