Почему прослушиватель нажатия клавиш не работает в IE

Я пытаюсь запустить это в IE 8, но это не работает, есть идеи? Он работает в 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.attach и добавлен прослушиватель событий. Но никогда не показывает "тест"! тревога.

Я читал кое-что о флаге useCapture, который можно использовать в других методах. Он фиксирует нажатие клавиши в окне до того, как событие «погаснет». Internet Explorer, похоже, не разрешает / не использует это. Это проблема? Если да, то как я могу это решить?

5
задан Ixx 29 February 2012 в 21:48
поделиться