想点击3D物体触发事件,然后进行旋转操作之后再抬起的时候也会触发click事件,因此想在鼠标按下的时候记录一下鼠标位置,click触发的时候判断位置是否相等再触发事件。
但是试了好久mousedown事件怎么都不触发,最后发现是和OrbitControls冲突了。
需要去修改OrbitControls的源码,搜索mousedown找到onMouseDown函数里的event.preventDefault();这句话拿注释掉就可以正常触发mousedown了。

image.png
本文介绍了一种在3D物体上实现点击并旋转后再触发click事件的方法。通过修改OrbitControls源码中mousedown事件的处理方式,实现了鼠标按下时记录位置,并在click事件触发时判断位置变化的功能。
想点击3D物体触发事件,然后进行旋转操作之后再抬起的时候也会触发click事件,因此想在鼠标按下的时候记录一下鼠标位置,click触发的时候判断位置是否相等再触发事件。
但是试了好久mousedown事件怎么都不触发,最后发现是和OrbitControls冲突了。
需要去修改OrbitControls的源码,搜索mousedown找到onMouseDown函数里的event.preventDefault();这句话拿注释掉就可以正常触发mousedown了。


被折叠的 条评论
为什么被折叠?