首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >侦听器即使在画布外也要使用密钥?

问侦听器即使在画布外也要使用密钥?
EN

Stack Overflow用户
提问于 2013-09-21 22:58:18
回答 1查看 97关注 0票数 0

我有一个用canvas制作的游戏,可以监听w,a,d和箭头键。然而,当我离开画布,点击画布下面的“点击这里订阅”按钮,并尝试输入w,a或d,他们就不会输入了。

我使用按钮的JQuery和游戏的HTML5画布。

这是WHat造成的,你知道如何阻止它吗?有没有办法在单击按钮时停止监听程序,并在JQuery屏幕关闭时重新启动监听程序?

这就是:http://www.slimedrop.com

EN

回答 1

Stack Overflow用户

发布于 2013-09-21 23:19:25

听起来像是在监听整个窗口上的关键事件。

您可以通过设置画布的选项卡索引来允许画布本身接收关键事件。

然后在画布上监听关键事件,而不是在窗口上。

然后,当用户将焦点切换到您的订阅窗体时,canvases键处理程序将不再接收键事件。

代码语言:javascript
复制
    // get a reference to the canvas
    var canvas=document.getElementById('canvas');

    // set canvas to be a tab stop (necessary to get keydown events)
    canvas.setAttribute('tabindex','0');

    // have handleKeydown handle keydown events on the canvas
    canvas.addEventListener('keydown',handleKeydown,false);

    // set focus to the canvas so keystrokes are immediately handled
    canvas.focus();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18934066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档