瀏覽代碼

clear pointer captured before prepointer observables

Trevor Baron 6 年之前
父節點
當前提交
596ef88076
共有 3 個文件被更改,包括 6 次插入6 次删除
  1. 1 1
      gui/src/2D/advancedDynamicTexture.ts
  2. 3 3
      gui/src/2D/controls/inputText.ts
  3. 2 2
      src/babylon.scene.ts

+ 1 - 1
gui/src/2D/advancedDynamicTexture.ts

@@ -590,7 +590,7 @@ export class AdvancedDynamicTexture extends DynamicTexture {
         }
 
         this._pointerMoveObserver = scene.onPrePointerObservable.add((pi, state) => {
-            if (scene!.isPointerCaptured((<PointerEvent>(pi.event)).pointerId) && pi.type !== PointerEventTypes.POINTERUP) {
+            if (scene!.isPointerCaptured((<PointerEvent>(pi.event)).pointerId)) {
                 return;
             }
 

+ 3 - 3
gui/src/2D/controls/inputText.ts

@@ -295,7 +295,7 @@ export class InputText extends Control implements IFocusableControl {
                 key = " "; //ie11 key for space is "Spacebar"
                 break;
             case 191: //SLASH
-                if(evt){
+                if (evt) {
                     evt.preventDefault();
                 }
                 break;
@@ -310,7 +310,7 @@ export class InputText extends Control implements IFocusableControl {
                         }
                     }
                 }
-                if(evt){
+                if (evt) {
                     evt.preventDefault();
                 }
                 return;
@@ -351,7 +351,7 @@ export class InputText extends Control implements IFocusableControl {
                 this._markAsDirty();
                 return;
             case 222: // Dead
-                if(evt){
+                if (evt) {
                     evt.preventDefault();
                 }
                 this.deadKey = true;

+ 2 - 2
src/babylon.scene.ts

@@ -2083,6 +2083,8 @@ module BABYLON {
                 }
 
                 this._initClickEvent(this.onPrePointerObservable, this.onPointerObservable, evt, (clickInfo: ClickInfo, pickResult: Nullable<PickingInfo>) => {
+                    this._pointerCaptures[evt.pointerId] = false;
+
                     // PreObservable support
                     if (this.onPrePointerObservable.hasObservers()) {
                         if (!clickInfo.ignore) {
@@ -2108,8 +2110,6 @@ module BABYLON {
                         return;
                     }
 
-                    this._pointerCaptures[evt.pointerId] = false;
-
                     if (!this.pointerUpPredicate) {
                         this.pointerUpPredicate = (mesh: AbstractMesh): boolean => {
                             return mesh.isPickable && mesh.isVisible && mesh.isReady() && mesh.isEnabled();