我的可拖动div在触摸设备上变得可拖动,但在开始移动时它会“闪烁”到奇怪的位置。就像桌面设备的魅力,但不适用于iPad或Android。
对解决方案的任何建议?
提前致谢!
答案 0 :(得分:2)
不幸的是,我无法共享代码,因为它会进入产品,而且我无法在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;
}
} );