javascript - 带有触摸打洞的 jQuery 可拖动 - 闪烁问题

标签 javascript ipad jquery-ui draggable jquery-ui-touch-punch

我的可拖动 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/

相关文章:

ipad - "didChangeSection:"NSfetchedResultsController 委托(delegate)方法未被调用

javascript - 如何在不同选项卡之间拖放多个元素

c# - 如何获取中继器内复选框的 ID

javascript - 如何使用CheckBox或将按钮从一个 Activity 切换到另一个 Activity ,在android中打开或关闭一个特定的音频文件?

iphone - 如何在动画与不动画时不重复此代码?

iphone - 在没有导航 Controller 的情况下将 barButtonItems 添加到 UINavigationBar

具有基于 Ajax 的内容的 jQuery UI 选项卡 : how to avoid first panel loaded by AJAX call

javascript - 为什么开始选择了关闭按钮

javascript - Canvas - 获取多个 Canvas 叠加中的像素颜色

javascript - 如何从 HTML5 服务器发送事件设置和更新全局变量的值