2010-01-24 16 views
8

Bu yüzden şu anda bir kullanıcı sola veya sağa onların klavyede basın izin ve o bir önceki çizgi romanın gitmek veya bir sonraki şerit gitmek zorunda kalacak bir GreaseMonkey komut dosyası yapmaya çalışıyorum. Şu anda bazı kodlarım var ama bana hiç sonuç vermiyor.Greasemonkey JavaScript Anahtar Basın Yardım

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

document.onKeyDown = KeyCheck(); 

kod ben anahtar bir şey sayfasında gerçekleşecek bastığınızda ayıklama aslında yürütme olmadığını görmek ama sadece içindir. Firefox'ta da test ediyorum.

cevap

11

Yani iyi bir 30 dakika Googling sonra, kutunun dışında onkeydown desteklemez Greasemonkey öğrendim. "AddEventListener" adlı bir işlevi kullanmalıydım.

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

window.addEventListener('keydown', KeyCheck, true); 
: Benim son kod düzgün sitesinde basılan bir tuşun keyCode döndürür
4

Sen KeyCheck sonra() olmamalıdır. Geçerli kodunuz KeyCheck'i çalıştırıyor ve daha sonra document.onKeyDown değerini döndürülen değere ayarlamaya çalışıyor. Bunu() olmadan yaparsanız, bunun yerine olayda çalıştırılacak KeyCheck işlevini ayarlamanız gerekir.

Ayrıca, bence onKeyDown'ın tüm küçük harf olması gerekir - document.onkeydown. bir satır içi fonksiyonlu

daha başka örnek,:

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

ise

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

çalışmaz.