eventListener не перехватывает событие нажатия клавиш с помощью Javascript - PullRequest
0 голосов
/ 16 июня 2011

Я написал некоторый код, чтобы проверить, запускает ли пользователь поиск в Google (нажимая кнопку «Поиск» или вводя «Ввод»).

Мой код работает нормально (это расширение Firefox), за исключением того, что я могу 'не получить код нажатой клавиши по неизвестной причине.

мой код:

window.addEventListener("submit", function() { myExtension_with_click.init(); }, false);
window.addEventListener("keypress", function() { myExtension_with_keypress.init(); }, false);

var myExtension_with_click = {
    init: function() {          
         alert("This works");
    }
}

var myExtension_with_keypress = {
    init: function() {
             alert("This works")
             if (window.event.keyCode == 13) {
                 // This doesn't work
                 alert("This doesn't work");
             }
    }
}

Ответы [ 2 ]

1 голос
/ 16 июня 2011

попробуйте это работает

<html>
<head>
<script>
    window.addEventListener("submit", function() { myExtension_with_click.init(); }, false);
    window.addEventListener("keypress", function(event) { myExtension_with_keypress.init(event); }, false);

    var myExtension_with_click = {
        init: function() {          
             alert("This works");
        }
    }

    var myExtension_with_keypress = {
        init: function(event) {
                 //alert("This works")
                 if (event.keyCode == 13) {
                     // This doesn't work
                     alert("This doesn't work");
                 }
        }
    }

</script>
</head>
<body>
    <input />
</body>

0 голосов
/ 20 июня 2011

Простое решение - использовать событие «изменение» в прослушивателе событий!

...