我有一个单页应用程序,里面有很多东西,使用 durandal。在一个页面上,我有一个链接,该链接指向另一个渲染 3d 模型的页面。OrbitControls 用于使模型转动等。这消除了我默认的左键单击和右键单击。离开该页面后,它仍然保持鼠标绑定,并且我的左键单击和右键单击对于某些用途变得无用,例如 - 选择一个标签意味着无法再次访问输入标签。
如果我知道怎么做,我可以释放绑定并重置它们。关闭该 3d 窗口时会调用一个停用函数,但我不知道该在那里编写什么代码。任何帮助都会非常有用。我怀疑任何代码都有用,所以我不会放任何代码。
谢谢!
由于要求,这里是简化的视图模型:
define(['services/logger'], function (logger) {
var vm = {
attached: attached
};
return vm;
function attached(view) {
var camera, cameraTarget, scene, renderer, controls;
init();
animate();
function init() {
...
controls = new THREE.OrbitControls(camera);
...
}
function animate(){...}
function render(){...}
}
}
视图极其复杂,但在这里完整粘贴:
<div id="canvasDiv" style="overflow: hidden; width:100%; height:100%">
</div>