2010-01-24 16 views
8

Attualmente sto provando a creare uno script GreaseMonkey che consenta a un utente di premere a sinistra oa destra sulla tastiera e farlo andare a una precedente striscia a fumetti o passare alla striscia successiva. Al momento ho qualche codice in su, ma non mi sta dando alcun risultato.Greasemonkey Javascript Key Press Help

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

document.onKeyDown = KeyCheck(); 

Il codice è solo per il debug per vedere se in realtà è l'esecuzione, ma quando si preme un tasto nulla accadrà nella pagina. Sto testando anche su Firefox.

risposta

11

Quindi, dopo aver cercato su Google per 30 minuti buoni, ho scoperto che GreaseMonkey non supporta onkeydown out of the box. Ho dovuto usare una funzione chiamata "addEventListener". Il mio codice finale restituisce il codice chiave di un tasto premuto correttamente sul sito:

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

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

Non si dovrebbe avere il() dopo KeyCheck. Il codice corrente esegue KeyCheck e quindi tenta di impostare document.onKeyDown sul valore restituito. Se lo fai senza() dovrebbe invece impostare la funzione KeyCheck da eseguire sull'evento.

Inoltre, penso che onKeyDown dovrebbe essere tutto in minuscolo: è document.onkeydown.

ulteriore esempio, con una funzione inline:

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

opere mentre

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

no.