未验证 提交 4fb74e3b 编写于 作者: M Mr.doob 提交者: GitHub

Editor: Improved UI.Number touch support.

上级 1eccf74c
......@@ -624,7 +624,57 @@ UI.Number = function ( number ) {
}
}
function onTouchStart( event ) {
if ( event.touches.length === 1 ) {
distance = 0;
onMouseDownValue = scope.value;
prevPointer = [ event.touches[ 0 ].pageX, event.touches[ 0 ].pageY ];
document.addEventListener( 'touchmove', onTouchMove, false );
document.addEventListener( 'touchend', onTouchEnd, false );
}
}
function onTouchMove( event ) {
var currentValue = scope.value;
pointer = [ event.touches[ 0 ].pageX, event.touches[ 0 ].pageY ];
distance += ( pointer[ 0 ] - prevPointer[ 0 ] ) - ( pointer[ 1 ] - prevPointer[ 1 ] );
var value = onMouseDownValue + ( distance / ( event.shiftKey ? 5 : 50 ) ) * scope.step;
value = Math.min( scope.max, Math.max( scope.min, value ) );
if ( currentValue !== value ) {
scope.setValue( value );
dom.dispatchEvent( changeEvent );
}
prevPointer = [ event.touches[ 0 ].pageX, event.touches[ 0 ].pageY ];
}
function onTouchEnd( event ) {
if ( event.touches.length === 0 ) {
document.removeEventListener( 'touchmove', onTouchMove, false );
document.removeEventListener( 'touchend', onTouchEnd, false );
}
}
function onChange( event ) {
scope.setValue( dom.value );
......@@ -648,6 +698,7 @@ UI.Number = function ( number ) {
onBlur();
dom.addEventListener( 'mousedown', onMouseDown, false );
dom.addEventListener( 'touchstart', onTouchStart, false );
dom.addEventListener( 'change', onChange, false );
dom.addEventListener( 'focus', onFocus, false );
dom.addEventListener( 'blur', onBlur, false );
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册