我的可拖动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;
    }
} );

关于javascript - jQuery可通过触摸打洞拖动-闪烁问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16447084/

10-11 00:58