2010-01-24 29 views
8

Vì vậy, tôi hiện đang cố tạo một tập lệnh GreaseMonkey cho phép người dùng nhấn trái hoặc phải trên bàn phím của họ và chuyển đến dải truyện tranh trước đó hoặc chuyển đến dải tiếp theo. Tôi hiện đang có một số mã lên nhưng nó không cho tôi bất kỳ kết quả.Phím Greasemonkey Javascript Nhấn Trợ giúp

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

document.onKeyDown = KeyCheck(); 

Mã chỉ để gỡ lỗi để xem nó có thực sự thực hiện hay không nhưng khi tôi nhấn phím không có gì sẽ xảy ra trên trang. Tôi cũng đang thử nghiệm trên Firefox.

Trả lời

11

Vì vậy, sau khi Googling trong 30 phút tốt, tôi phát hiện ra GreaseMonkey không hỗ trợ onkeydown ra khỏi hộp. Tôi đã phải sử dụng một chức năng gọi là "addEventListener". Mã cuối cùng của tôi trả về mã phím của một phím được nhấn trên trang web chính xác:

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

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

Bạn không nên có dấu() sau KeyCheck. Mã hiện tại của bạn chạy KeyCheck và sau đó cố gắng đặt document.onKeyDown thành giá trị được trả về. Nếu bạn làm điều đó mà không có() nó thay vào đó nên thiết lập các chức năng gọi là KeyCheck được chạy trên sự kiện này.

Ngoài ra, tôi nghĩ onKeyDown phải là tất cả các chữ thường - đó là document.onkeydown.

dụ Hơn nữa, với một hàm nội tuyến:

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

công trình trong khi

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

không.

Các vấn đề liên quan