Jquery mobile 使用jquery mobile touchmove事件拖放移动设备

Jquery mobile 使用jquery mobile touchmove事件拖放移动设备,jquery-mobile,drag-and-drop,touch,Jquery Mobile,Drag And Drop,Touch,我正在尝试使用jquery mobile和touchmove事件为iPad实现拖放功能。在做这件事之前,我在这里读了很多问题,比如,它实际上是在寻找一个合适的框架,而我并没有研究这个框架。还有,这有助于实现拖放 我的代码如下所示,这里只是我的相关html/js,完整的相关代码可以在fiddle中找到 HTML 我的代码部分工作。我的意思是,元素在移动,但它移动的方式真的很难看,它离手指有点远。它也在摇晃 这是因为我错误地计算了我的左上角。但我无法准确地计算它们。任何想法都将不胜感激 您可以尝试我

我正在尝试使用jquery mobile和touchmove事件为iPad实现拖放功能。在做这件事之前,我在这里读了很多问题,比如,它实际上是在寻找一个合适的框架,而我并没有研究这个框架。还有,这有助于实现拖放

我的代码如下所示,这里只是我的相关html/js,完整的相关代码可以在fiddle中找到

HTML

我的代码部分工作。我的意思是,元素在移动,但它移动的方式真的很难看,它离手指有点远。它也在摇晃

这是因为我错误地计算了我的左上角。但我无法准确地计算它们。任何想法都将不胜感激


您可以尝试我的,但由于某些原因,我无法正确地在JSFIDLE中删除屏幕移动,因此最好复制整个代码并将其复制到。

您自己找到过解决方法吗?我在IE中使用鼠标事件进行拖放时遇到了类似的问题…我真的认为这是由于IE渲染。虽然有人建议使用javascript,因为它比jquery稍快一点。@t1nr2y没有,我还没有找到。关于你的最后一句话,抖动并不是因为性能问题,所以无论我使用jquery还是js,都没有区别。好吧,如果我能找到什么帮助的话,我会回来发布一个链接。
<span class="square"> 1 </span>
<span class="square-big"> 1 </span>
$('.square').on('touchmove',function(e){
    var touch = e.originalEvent.touches[0];
    var elm = $(this).offset();
    $(this).addClass('selected').css({
        left: touch.screenX - elm.left,
        top: touch.screenY - elm.top
    });
    $('.square-big').addClass('selected');
}).on('touchend', function(e){
    $(this).removeClass('selected');
    $('.square-big').removeClass('selected');
});