浏览代码

pointerid compatibility for Safari (#8670)

Cedric Guillemet 5 年之前
父节点
当前提交
537fcd9779
共有 1 个文件被更改,包括 8 次插入0 次删除
  1. 8 0
      src/Inputs/scene.inputManager.ts

+ 8 - 0
src/Inputs/scene.inputManager.ts

@@ -607,6 +607,8 @@ export class InputManager {
         };
         };
 
 
         this._onPointerMove = (evt: PointerEvent) => {
         this._onPointerMove = (evt: PointerEvent) => {
+            // preserve compatibility with Safari when pointerId is not present
+            (evt as any).pointerId = evt.pointerId ?? 0;
 
 
             this._updatePointerPosition(evt);
             this._updatePointerPosition(evt);
 
 
@@ -634,6 +636,9 @@ export class InputManager {
             this._pickedDownMesh = null;
             this._pickedDownMesh = null;
             this._meshPickProceed = false;
             this._meshPickProceed = false;
 
 
+            // preserve compatibility with Safari when pointerId is not present
+            (evt as any).pointerId = evt.pointerId ?? 0;
+
             this._updatePointerPosition(evt);
             this._updatePointerPosition(evt);
 
 
             if (scene.preventDefaultOnPointerDown && elementToAttachTo) {
             if (scene.preventDefaultOnPointerDown && elementToAttachTo) {
@@ -678,6 +683,9 @@ export class InputManager {
             this._pickedUpMesh = null;
             this._pickedUpMesh = null;
             this._meshPickProceed = false;
             this._meshPickProceed = false;
 
 
+            // preserve compatibility with Safari when pointerId is not present
+            (evt as any).pointerId = evt.pointerId ?? 0;
+
             this._updatePointerPosition(evt);
             this._updatePointerPosition(evt);
 
 
             if (scene.preventDefaultOnPointerUp && elementToAttachTo) {
             if (scene.preventDefaultOnPointerUp && elementToAttachTo) {