键盘事件监听器在JavaScript中

时间:2012-04-07 18:31:13

标签: javascript javascript-events mouseevent keyboard-events

是否可以像我们有鼠标事件监听器

那样拥有键盘事件监听器canvas.addEventListener('onkeydown', ev_keydown, false);
canvas.removeEventListener('mousedown', ev_mousedown, false);
canvas.addEventListener('mousedown', ev_mousedown, false); 
在JavaScript中

。 如果不是那么候补是什么?

2 个答案:

答案 0 :(得分:2)

检查这是否适合您。您的示例行的前缀为on,仅用于IEs方法attachEvent。

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);

答案 1 :(得分:1)

jQuery提供了一种将eventlisteners绑定到DOMElements

的简单方法

还有键盘事件的eventlisteners这里有一些链接

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

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

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

你可以将它们绑定到窗口,这应该做你想做的事情

您也可以使用自己的方法以跨浏览器兼容的方式绑定事件

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

这也应该允许你绑定提到的事件类型