开发中,拖拽功能实现就是三个方法touchstart,touchmove,touchend,也很容易,但是在混合开发中,ios里面,当H5页面里面的拖动进行的时候,手指划出屏幕时,不会触发touchen事件,同时,touchmove事件就会一直存在,那么这就出现了bug,所有的拖拽事件否不能在执行了,因为上一个的touchemove没有结束!怎么解决这个问题呢,看代码
$(".s-read-move-box").on({ touchstart: function (e) { e.preventDefault(); }, touchmove: function (e) { e.preventDefault(); if (moveY <= 30) { if (navigator.userAgent.match(/(iPhone|iPod|iPad)/i)){ alert('已到顶部,试试滑动选项区查看更多内容!') } } }, touchend: function (e) { e.preventDefault() } })
在touchmove里面进行判断,到达某一个临界点的时候使用alert()自带的打断功能将事件打断即可!