天天看點

iframe中嵌套threejs使用TrackballControls時touch事件報錯

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事件的方法歡迎指正

上一篇: 鏡像備份
下一篇: if嵌套

繼續閱讀