You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Three.js场景移入div后keydown/keyup事件失效问题求助

问题解决:Three.js场景移入容器后键盘事件失效

问题情况

原本在window对象上绑定keydown、keyup及pointer系列事件,实现Three.js场景的快捷键功能,代码运行正常。但将场景移入id为canvasWrapper的div容器后,pointer系列事件仍能正常工作,keydown和keyup事件却失效。

解决方案

为canvasWrapper div元素添加tabindex="0"属性即可恢复键盘事件功能。

修改后的容器标签示例:

<div id="canvasWrapper" tabindex="0"></div>

原因说明

默认状态下,div这类非交互元素不具备焦点能力,无法捕获键盘事件。添加tabindex="0"后,该元素会变为可聚焦状态,从而能够接收keydown和keyup事件。

内容的提问来源于stack exchange,提问作者Icarus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 11:03:25