我的可拖动 div 在触摸设备上变得可拖动,但在开始移动它时它会“闪烁”到奇怪的位置。像桌面设备的魅力一样工作,但不适用于 iPad 或 Android。
有什么解决方案的建议吗?
提前致谢!
我的可拖动 div 在触摸设备上变得可拖动,但在开始移动它时它会“闪烁”到奇怪的位置。像桌面设备的魅力一样工作,但不适用于 iPad 或 Android。
有什么解决方案的建议吗?
提前致谢!
不幸的是,我无法共享代码,因为它将进入产品,并且我无法在 jsfiddle 或类似文件中重现该问题。
但是我已经修复了触摸设备上的可拖动闪烁,如果其他人遇到问题,我将在这里分享。
var prevPos = null, diffX, diffY, maxDiff;
$( '#draggable' ).draggable( {
    ...,
    ...,
    drag: function ( event, ui ) {
        if ( prevPos ) {
            diffX = Math.abs( prevPos.left - ui.position.left );
            diffY = Math.abs( prevPos.top - ui.position.top );
            maxDiff = Math.max( diffX, diffY );
            if ( maxDiff > 60 ) {
                ui.position = prevPos;
            }
        }
        prevPos = ui.position;
    },
    stop: function ( event, ui ) {
        prevPos = null;
    } 
} );