将键盘事件附加到 html5 canvas
看起来鼠标事件
可以很好地向canvas
元素添加监听器,但是键盘事件
似乎不适用于canvas< /code> 元素。
例子: http://jsfiddle.net/H8Ese/1/
浏览器: 铬14.0 FF 5.0.1
我知道我可以使用文档级侦听器,但我试图首先获取 Canvas 元素(以便您的键盘可以在页面上的其他任何地方使用)。
关于如何在画布元素上监听关键事件有什么想法吗?
It looks like mouse events
will add listeners to canvas
elements fine, but keyboard events
don't seem to be working for canvas
elements.
Example:
http://jsfiddle.net/H8Ese/1/
Browsers:
Chrome 14.0
FF 5.0.1
I know I can use the document level listeners, but I'm trying to get the Canvas element first (so that your keyboard works everywhere else on the page).
Any ideas on how to get key event listening working on canvas elements?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为您不能将键盘事件监听器直接添加到画布上。如果您不想在窗口级别注册事件处理程序,那么我认为您可以将画布包装在 div 内并在 div 上注册键盘事件。
另一个有趣的方法是在画布标签上使用 tabIndex 并在画布上绑定按键。我已经更新了 jsfiddle 的代码,也粘贴到此处以供将来参考。
I don't think you can add keyboard event listener directly to the canvas. If you don't want to register event handler on window level then I think you can wrap the canvas inside a div and register keyboard events on the div.
Another interesting way is to use tabIndex on the canvas tag and bind keypress on the canvas. I have updated the code at jsfiddle, pasting here too for future references.