在Three.js中,事件监听通常会绑定到渲染器的DOM元素上,而不是整个窗口。如果你只绑定了window对象上的事件监听函数,那么只有在图表外部点击时才会触发事件。
为了确保在图表内部点击也能触发事件,你需要将事件监听绑定到Three.js渲染器的DOM元素上。假设你的渲染器变量名为renderer,则可以按如下方式修改代码:
renderer.domElement.addEventListener('mousedown', this.onMouseDown);
这样,将事件监听绑定到了渲染器的DOM元素上,而不是window对象。这样无论是在图表内部还是外部点击都能正确触发事件。
请注意,在使用此代码之前,请确保Three.js场景已经创建并且渲染器已经初始化完成,并且onMouseDown函数已正确定义和实现。
内容由零声教学AI助手提供,问题来源于学员提问