使用 hammer.js
拖动在桌面浏览器上运行良好。连续触发直到 dragEnd
。但在 iPad 上它只会触发一次。
hammer(container).on( 'drag', function (e) {_this.onDragging.call(_this, e);}, false );
//onDragStart we init this.start = e.pageX
onDragging : function (e) {
var diff=this.start-e.pageX;
moveTimeLine(e.pageX);
this.start=e.pageX;
}
为了使时间线的拖动更顺畅,但拖动事件只触发一次,而不是连续触发。
moveTimeLine()
按指定像素移动时间线,因此需要一些时间来反射(reflect)。最终 dragging
事件只调用一次。连我都拖得很慢。
当用户在 iPad 上移动手指时,是否可以通过任何方式触发拖动事件?????
最佳答案
查看 https://github.com/EightMedia/hammer.js/issues/458
只需将 e.preventDefault()
添加到您的函数中,您就可以开始了。
编辑:如果解决方案对您来说不是那么容易(也许您需要垂直轴上的 native 滚动),请查看此线程:https://github.com/EightMedia/hammer.js/issues/245
关于javascript - hammer.js - ipad 上的拖动事件未连续触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21397876/