在触摸屏设备上使用拖动事件模仿jquery.mousemove

时间:2014-07-16 15:23:18

标签: jquery

我希望通过拖动div元素来模仿触摸屏设备上mousemove的使用。

到目前为止,它在桌面上运行良好(你可以在这里看到它 - http://jsfiddle.net/5DjPw/),但是在使用mousemove的移动设备上,它只是跳转到你点击屏幕的地方,拖动什么都不做。

我尝试过使用touchmove,它有点 ,但它不是一个稳固的动作。我不得不释放和拖动,而不是坚定的动作。

jQuery(".slidswap_moused_over").on('touchmove',function(e){
      e.preventDefault();
      var touch = e.originalEvent.touches[0] || e.originalEvent.changedTouches[0];
      var elm = $(this).offset();
      var x = touch.pageX - elm.left;
      var y = touch.pageY - elm.top;
      jQuery(".slidswap_left_image", this).css({ "width": x });
      jQuery('.slidswap_drag_message', this).css({ "opacity": 0 });
}); 

非常感谢任何帮助。

谢谢!

1 个答案:

答案 0 :(得分:0)

最后,我使用Touch Punch和可调整大小的jQuery调用的组合来模仿这个,只在javascript的移动设备/平板电脑上提供。

移动脚本的代码就在这里。

jQuery(".slidswap_left_image").resizable({
    containment: '.slidswap_image_wrapper',
    handles: "e, w"
});

非常感谢Shane Jones的帮助:)。