Spline-react中onMouseDown与onMouseHover无响应问题求助
解决@splinetool/react-spline鼠标事件无响应的问题
1. 修正代码中的事件名称错误
Spline React组件没有onMouseHover这个属性,鼠标悬停需使用onMouseOver(悬停期间持续触发)或者onMouseEnter(首次进入对象时触发)。修改组件props如下:
<Spline onLoad={onLoad} onMouseDown={() => { console.log("hello there"); }} onMouseOver={onMouseDown} // 替换onMouseHover为onMouseOver scene="https://prod.spline.design/sO9tS9c4paV1HRId/scene.splinecode" />
2. 在Spline在线编辑器开启对象交互权限
这是事件无响应的核心原因,操作步骤:
- 打开对应scene链接的Spline在线项目
- 选中目标对象「Clink」
- 切换到右侧面板的「Interactions」(交互)标签页
- 找到「Pointer Events」(指针事件)选项,勾选「Enabled」启用
- 确认对象的「Visibility」(可见性)为开启状态,「Opacity」(透明度)不为0——透明或不可见的对象无法触发鼠标事件
3. 额外排查点
- 将@splinetool/react-spline更新至最新版本,旧版本可能存在兼容问题:
npm update @splinetool/react-spline - 检查是否有其他DOM元素覆盖在Spline组件上方,导致鼠标事件被拦截,可给Spline容器添加
z-index: 1样式测试
内容的提问来源于stack exchange,提问作者Rahul Vuppala
相关产品推荐
相关产品推荐

