ich ein userscript mit dem folgenden Code schreibe:Javascript: keydown Ereignis Brennen nicht
(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;
}
}
})();
Schließlich die linke und rechte Fälle auf die vorherigen und nächsten Artikel in einer Reihe navigieren jeweils mit so etwas wie:
window.location = String(parseInt(window.location.href.match(/\d+$/))-1);
Durch Drücken der Pfeiltasten wird jedoch keine Warnung ausgegeben. Das Skript ist klar geladen, das Chrome-Entwickler-Menü zeigt an, dass die arrows()
-Funktion als Ereignis-Listener für window.keydown
registriert ist und die Funktion dennoch nicht ausgelöst wird. Ich fügte debugger;
zur arrows()
Funktion hinzu, aber der Debugger zeigt nicht an, wenn ich die Pfeiltasten drücke.
Gibt es ein Event-Handler weiter unten im Baum zu stoppen Ausbreitung des ' keydown'-Ereignis (in diesem Fall sollten Sie den dritten Parameter von 'addEventListener' auf' true' setzen, um das Capturen zu ermöglichen)? –