瀏覽代碼

OrbitControls: Add `stopListenToKeyEvents()`. (#25418)

* Add OrbitControls.removeKeyEvents()

If I called listenToKeyEvents(), sometimes I want to remove this event
listener, temporary or otherwise.

* Update OrbitControls.js

Fix DOM element reference.

* Update OrbitControls.js

* Update OrbitControls.js

* Update OrbitControls.js

---------

Co-authored-by: Michael Herzog <[email protected]>
Nik Nyby 2 年之前
父節點
當前提交
a2a1711269
共有 1 個文件被更改,包括 8 次插入0 次删除
  1. 8 0
      examples/jsm/controls/OrbitControls.js

+ 8 - 0
examples/jsm/controls/OrbitControls.js

@@ -124,6 +124,13 @@ class OrbitControls extends EventDispatcher {
 
 		};
 
+		this.stopListenToKeyEvents = function () {
+
+			this._domElementKeyEvents.removeEventListener( 'keydown', onKeyDown );
+			this._domElementKeyEvents = null;
+
+		};        
+
 		this.saveState = function () {
 
 			scope.target0.copy( scope.target );
@@ -304,6 +311,7 @@ class OrbitControls extends EventDispatcher {
 			if ( scope._domElementKeyEvents !== null ) {
 
 				scope._domElementKeyEvents.removeEventListener( 'keydown', onKeyDown );
+				scope._domElementKeyEvents = null;
 
 			}