javascript - 为 Canvas 上的按键添加事件监听器

标签 javascript html canvas html5-canvas

我正在尝试制作一个响应键盘和鼠标输入的 Canvas 应用程序。我有这段代码:

canvas = document.getElementById('canvas');
canvas.addEventListener('mousedown', function(event) {
    alert('mousedown');
        }, false);
canvas.addEventListener('keydown', function(event) {
    alert('keydown');
        }, false);

每当我单击鼠标时都会出现“鼠标按下”警报,但“按键按下”警报永远不会出现。相同的代码在 JS Bin 上运行良好:http://jsbin.com/uteha3/66/

为什么它在我的页面上不起作用? Canvas 不识别键盘输入吗?

最佳答案

将 canvas 元素的 tabindex 设置为 1 或类似的东西

<canvas tabindex='1'></canvas>

让任何元素都可聚焦是一个老把戏

关于javascript - 为 Canvas 上的按键添加事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12886286/

相关文章:

javascript - html5 canvas javascript 复制图片

javascript - for 循环中的 lineTo() 方法

javascript - 使用 Material UI/React Stepper 创建 "pages"个步骤(如表分页)

javascript - cordovaplugman - 添加第一个特定于平台的插件

javascript - 向 yeoman angular-fullstack 添加一条新路线会破坏它吗?

css - 单独 div 中两行图像之间的空间,仅出现在一个特定行上

php - 输出到 HTML 时有些字母困惑

javascript - 检查角色时无限循环。 VueJS

html - 禁用 Snipcart 全页购物车

javascript - 编写效果Javascript