Я пишу userscript со следующим кодом:Javascript: KeyDown события не стреляя
(function() {
'use strict';
window.addEventListener("keydown", arrows, false);
function arrows(e) {
debugger;
switch(e.keycode) {
case 37: alert("Left"); break;
case 39: alert("Right"); break;
}
}
})();
В конце концов, левые и правые дела будут перемещаться к предыдущей и следующей статье в серии, соответственно, что-то вроде:
window.location = String(parseInt(window.location.href.match(/\d+$/))-1);
Однако нажатие клавиш со стрелками не вызывает предупреждения. Сценарий явно загружен, меню разработчика Chrome показывает, что функция arrows()
зарегистрирована как прослушиватель событий для window.keydown
, и все же функция никогда не срабатывает. Я добавил debugger;
в функцию arrows()
, но отладчик не показывает, когда я нажимаю клавиши со стрелками.
Есть ли обработчик события ниже в дереве остановки распространения ' keydown' (в этом случае вы должны установить третий параметр 'addEventListener' в' true', чтобы включить захват)? –