2012-04-07 34 views
5

Có thể có sự kiện bàn phím nghe canvas.addEventListener('onkeydown', ev_keydown, false); như chúng tôi có Chuột kiện Listenersbàn phím Event Listener Trong JavaScript

canvas.removeEventListener('mousedown', ev_mousedown, false); 
canvas.addEventListener('mousedown', ev_mousedown, false); 

trong JavaScript. Nếu không thì điều gì sẽ là thay thế?

Trả lời

2

jQuery cung cấp một cách đơn giản để ràng buộc eventlisteners để DOMElements

và cũng có eventlisteners cho các sự kiện bàn phím đây là một số liên kết

http://api.jquery.com/keydown/

http://api.jquery.com/keypress/

http://api.jquery.com/keyup/

bạn có thể liên kết chúng với cửa sổ và điều này nên làm những gì bạn muốn

bạn cũng có thể sử dụng phương pháp riêng của mình để ràng buộc các sự kiện trong một trình duyệt chéo cách tương thích

function bindEvent(e, typ, handler) { 
    if(e.addEventListener) { 
     e.addEventListener(typ, handler, false); 
    }else{ 
     e.attachEvent('on'+typ, handler); 
    } 
} 

này cũng nên cho phép bạn để ràng buộc các loại được đề cập sự kiện

+0

chúng ta có thể làm điều đó mà không cần sử dụng Jquery không? tôi chỉ có thể sử dụng Javascript trong ngữ cảnh này. – james

+3

jQuery không được đề cập trong câu hỏi, tại sao buộc một giải pháp thực hiện cụ thể? –

+0

Tôi cũng đã thêm phương pháp tôi sử dụng để liên kết các sự kiện không có jQuery - hy vọng nó hoạt động cho bạn – alex

2

Kiểm tra nếu điều này phù hợp với bạn. Dòng mẫu của bạn có tiền tố trên chỉ được sử dụng cho phương thức attachEvent của IE.

function listener(elem, evnt, func) 
{ 
    if (elem.addEventListener) 
     elem.addEventListener(evnt,func,false); 
    else if (elem.attachEvent) // For IE 
     return elem.attachEvent("on" + evnt, func); 
} 

listener(document.getElementById('myCanvas'), 'keydown', ev_keydown);