首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Canvas游戏空间栏滚动浏览器

Canvas游戏空间栏滚动浏览器
EN

Stack Overflow用户
提问于 2018-07-29 14:46:36
回答 1查看 129关注 0票数 0
代码语言:javascript
复制
var canvas = document.getElementById('myCanvas');
canvas.addEventListener('keydown', function (event) {
   myHandleKeyboardEvent(event);
}, false);

这对我来说很好。事件被发送到我的处理程序。

但是每当我点击空格键时,浏览器窗口就会滚动。

有没有办法在键盘事件到达浏览器之前就把它们吞掉呢?

(我已经尝试将处理程序放在windowdocument上,结果相同)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-29 15:10:23

既然它起作用了,我就把它贴出来作为答案:

代码语言:javascript
复制
var canvas = document.getElementById("myCanvas");
document.addEventListener(
  "keydown",
  function(event) {
    if (document.activeElement && document.activeElement.id === canvas.id) {
      event.preventDefault();
      myHandleKeyboardEvent(event);
    }
  },
  false
);

Snippet现在包含了Kaiido给出的重要建议,这是一个到工作演示的链接。https://codesandbox.io/s/o714xx10nz

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51577943

复制
相关文章

相似问题

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