iframe中嵌套threejs使用TrackballControls時touch事件報錯
作者:咕魂
時間:2021年8月3日
項目背景:在使用threejs引擎進行遊戲開發時,使用iframe嵌套解決bgm在不同頁面連續播放的問題,但是iframe中的onPointerDown事件會觸發兩次導緻position出現兩個元素無法使用
解決辦法:修改TrackballControls的源碼中的addPointer函數
原始函數:
function addPointer(event) {
_pointers.push(event)
}
修改後:
function addPointer(event) {
if (_pointers.length == 1) {
return
}
_pointers.push(event)
}
作用:攔截掉一次多餘的事件
總結:該方法是在TrackballControls的源碼中進行修改,不太推薦,如果有其他攔截iframe多次touch事件的方法歡迎指正