ソースを参照

reset buttons and modifier keys state when browser window looses focus

Alexander Rose 5 年 前
コミット
c5997ed056
1 ファイル変更4 行追加2 行削除
  1. 4 2
      src/mol-util/input/input-observer.ts

+ 4 - 2
src/mol-util/input/input-observer.ts

@@ -251,6 +251,7 @@ namespace InputObserver {
 
             element.addEventListener('wheel', onMouseWheel as any, false)
             element.addEventListener('mousedown', onMouseDown as any, false)
+
             // for dragging to work outside canvas bounds,
             // mouse move/up events have to be added to a parent, i.e. window
             window.addEventListener('mousemove', onMouseMove as any, false)
@@ -263,7 +264,8 @@ namespace InputObserver {
             element.addEventListener('touchmove', onTouchMove as any, false)
             element.addEventListener('touchend', onTouchEnd as any, false)
 
-            element.addEventListener('blur', handleBlur)
+            // reset buttons and modifier keys state when browser window looses focus
+            window.addEventListener('blur', handleBlur)
             window.addEventListener('keyup', handleKeyUp as EventListener, false)
             window.addEventListener('keydown', handleKeyDown as EventListener, false)
 
@@ -288,7 +290,7 @@ namespace InputObserver {
             element.removeEventListener('touchmove', onTouchMove as any, false)
             element.removeEventListener('touchend', onTouchEnd as any, false)
 
-            element.removeEventListener('blur', handleBlur)
+            window.removeEventListener('blur', handleBlur)
             window.removeEventListener('keyup', handleKeyUp as EventListener, false)
             window.removeEventListener('keydown', handleKeyDown as EventListener, false)