gpt4 book ai didi

javascript - 如果我有两个鼠标滚轮监听器,如何确保一个在另一个之后?

转载 作者:行者123 更新时间:2023-11-28 07:50:52 25 4
gpt4 key购买 nike

我正在开发一个使用 Three.js 的应用程序。我已经包含了[很棒的] OribitalControls.js 来帮助场景导航。它具有以下代码将其功能附加到鼠标滚轮:

this.domElement.addEventListener( 'mousewheel', onMouseWheel, false );
this.domElement.addEventListener( 'DOMMouseScroll', onMouseWheel, false ); // firefox

在我的应用程序的其他地方(在单独的文件中),我有自己的 mousewheel 监听器。我将它附加到事件中,如下所示:

this.canvas.onmousewheel = this.onMouseWheel.bind(this);

问题是我的 mousewheel 函数告诉渲染器渲染帧,因为场景中的某些内容发生了变化。然后,在重新渲染帧后,OrbitalControls mousewheel 函数会更改相机的位置。下次我更改某些内容时,我会收到烦人的“缩放”,因为我的监听器没有从 OrbitalControls 监听器中获取最后的小更改。

有没有办法可以强制我的 onMouseWheel() 函数始终运行在最后?

编辑:由于应用程序的架构,OrbitalControls 对我的其他 mousewheel 功能一无所知。此外,我的 mousewheel 函数无法对 OrbitalControls 的实现做出任何假设。

最佳答案

js和jquery都是同步的。您的目标可以通过回调函数来实现。第一个函数执行完成后会调用回调。谷歌回调函数,你会发现很多例子

关于javascript - 如果我有两个鼠标滚轮监听器,如何确保一个在另一个之后?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26818038/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com