Jelajahi Sumber

Merge pull request #15693 from greggman/only-preventdefault-on-used-keys

OrbitControls: Only call preventDefault() on used keys
Michael Herzog 6 tahun lalu
induk
melakukan
ac68fc0390
1 mengubah file dengan 15 tambahan dan 7 penghapusan
  1. 15 7
      examples/js/controls/OrbitControls.js

+ 15 - 7
examples/js/controls/OrbitControls.js

@@ -539,34 +539,42 @@ THREE.OrbitControls = function ( object, domElement ) {
 
 		//console.log( 'handleKeyDown' );
 
-		// prevent the browser from scrolling on cursor up/down
-
-		event.preventDefault();
+		var update = false;
 
 		switch ( event.keyCode ) {
 
 			case scope.keys.UP:
 				pan( 0, scope.keyPanSpeed );
-				scope.update();
+				update = true;
 				break;
 
 			case scope.keys.BOTTOM:
 				pan( 0, - scope.keyPanSpeed );
-				scope.update();
+				update = true;
 				break;
 
 			case scope.keys.LEFT:
 				pan( scope.keyPanSpeed, 0 );
-				scope.update();
+				update = true;
 				break;
 
 			case scope.keys.RIGHT:
 				pan( - scope.keyPanSpeed, 0 );
-				scope.update();
+				update = true;
 				break;
 
 		}
 
+		if ( update ) {
+
+			// prevent the browser from scrolling on cursor keys
+
+			event.preventDefault();
+			scope.update();
+
+		}
+
+
 	}
 
 	function handleTouchStartRotate( event ) {