拖动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;
}
为了获得平滑时间线的拖动,但Drag事件只被触发一次而不是连续触发。
moveTimeLine()
按指定像素移动时间轴,因此需要一些时间来反映。并且最终dragging
事件仅被调用一次。即使我拖慢了。
用户在iPad上移动手指时是否有任何阻止事件触发?????
答案 0 :(得分:0)
查看https://github.com/EightMedia/hammer.js/issues/458
只需将e.preventDefault()
添加到您的功能中就可以了。
编辑:如果解决方案对您来说不那么容易(可能需要在垂直轴上进行原生滚动),请查看此主题:https://github.com/EightMedia/hammer.js/issues/245