键盘事件监听器在JavaScript
问题描述:
是否有可能有键盘事件监听器canvas.addEventListener('onkeydown', ev_keydown, false);
就像我们的鼠标事件监听器键盘事件监听器在JavaScript
canvas.removeEventListener('mousedown', ev_mousedown, false);
canvas.addEventListener('mousedown', ev_mousedown, false);
在JavaScript
。 如果不是,那么替代品是什么?
答
jQuery提供绑定事件监听到DOMElements
一个简单的方法,也有事件监听键盘事件这里有一些链接
http://api.jquery.com/keydown/
http://api.jquery.com/keypress/
你可以将它们绑定到窗口和这个应该做你想要
,你也可以用你自己的方法,以兼容的方式
function bindEvent(e, typ, handler) {
if(e.addEventListener) {
e.addEventListener(typ, handler, false);
}else{
e.attachEvent('on'+typ, handler);
}
}
这也应该让你绑定所提到的事件类型
答
检查的事件绑定在一个跨浏览器是什么如果这对你有用。您的示例行具有仅用于IE方法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);
我们可以不使用Jquery吗?在这种情况下,我只能使用Javascript。 – james 2012-04-07 18:44:51
在问题中没有提到jQuery,为什么强制实现特定的解决方案? – 2012-04-07 18:45:37
我还添加了我用来绑定没有jQuery的事件的方法 - 希望它对你有用 – alex 2012-04-07 18:50:12