由于目标被视为被动,无法阻止被动事件侦听器中的默认值.三.js轨迹球控制



我正在使用Three.js制作3D应用程序。在此应用程序中,我需要具有带相机的控制系统。我正在为这个控制系统使用轨迹球控制。但是当我添加一个事件侦听器时,会出现一个奇怪的错误:Unable to preventDefault inside passive event listener due to target being treated as passive.它包含一个链接:这个铬网站

我理解错误,但是有没有办法解决此错误?此错误来自以下行:event.preventDefault();

一些代码:

var control = new THREE.TrackballControls(camera);
control.addEventListener("change", render);
function render() {
renderer.render(scene, camera);
}
function update() {
renderer.render(scene, camera);
control.update();
requestAnimationFrame(update);
}

我希望有人能够帮助我。提前感谢!

var control = new THREE。轨迹球控制(摄像头(;

请始终这样创建TrackballControls

var control = new THREE.TrackballControls(camera, renderer.domElement);

有一个新的 PR 将使第二个参数TrackballControls强制性的,并防止document作为参数。

https://github.com/mrdoob/three.js/pull/17612

three.js R109

此消息是一个警告。这不会损害 Web 应用程序。

但这有点烦人。您可以使用此方法关闭此警告:

而不是使用这个:

control.addEventListener("change", render);

把它放在代码中:

control.addEventListener("change", render, { passive: false });

最新更新