2010-01-24 11 views
8

Also versuche ich gerade, ein GreaseMonkey-Skript zu machen, das einem Benutzer erlaubt, nach links oder rechts auf ihrer Tastatur zu drücken und das zu einem vorherigen Comicstrip zu gehen oder zum nächsten Streifen zu gehen. Ich habe derzeit einen Code, aber es gibt mir keine Ergebnisse.Greasemonkey Javascript Key Drücken Sie Hilfe

function KeyCheck() 
{ 
var KeyID = event.keyCode; 
alert(KeyID); 
} 

document.onKeyDown = KeyCheck(); 

Der Code ist nur für die Fehlersuche, um zu sehen, ob es tatsächlich ist die Ausführung, aber wenn ich eine Taste drücken nichts auf der Seite passieren wird. Ich teste auch in Firefox.

Antwort

11

Also nach Googeln für eine gute 30 Minuten, habe ich herausgefunden, dass GreaseMonkey onkeydown nicht out of the box unterstützt. Ich musste eine Funktion namens "addEventListener" verwenden. Mein endgültiger Code gibt den Schlüsselcode einer auf der Website gedrückten Taste zurück:

function KeyCheck(e) 
{ 
alert(e.keyCode); 
} 

window.addEventListener('keydown', KeyCheck, true); 
4

Sie sollten die() nach KeyCheck nicht haben. Ihr aktueller Code führt KeyCheck aus und versucht dann, document.onKeyDown auf den zurückgegebenen Wert zu setzen. Wenn Sie es ohne das() tun, sollte stattdessen die Funktion namens KeyCheck für das Ereignis ausgeführt werden.

Auch ich denke onKeyDown sollte alles Kleinbuchstaben sein - es ist document.onkeydown.

weiteres Beispiel mit einer Inline-Funktion:

document.onkeydown = function() { alert("key down") } 

Werke während

document.onkeydown = alert("key down"); 

nicht.