做前端一年整,碰到不少问题,以前都是找资源,解决问题,不会去分享资源,这次是我第一次写博客,如果有什么问题,欢迎来交流。
在过去一年的时间里,我所接触的多有是移动端的项目,移动前端中,touch触摸事件经常会涉及到,轮播图,上拉加载,都要用到touch事件,有用过插件,也有自己写过一些事件。关于touch事件中关键的3个事件 touchstart, touchmove, touchend 及其注意事项就不说了,网上一搜一大堆,不过都大同小异。
这里我单讲touchmove在移动过程中如果移动到移动设备的边界,它的touchend事件在不指定的情况下是不会执行的,当你再次触摸一下屏幕才会被触发。在这里,还有一个touchcancel事件,它的情况跟我说的这个略有不同,它是在touchmove事件被中断的时候被触发,比如,你在touchmove事件中写个弹窗,这个事件就是被中断,这样touchcancel就会被 触发,如果有盆有知道有什么事件可以监听到是不是触摸超出了边界,还迎来交流...
下面是touchmove被中断的代码
var pk = document.body.scrollWidth;
body.addEventListener('touchmove', function(e){
var pointX = e.touches[0].pageX;
var pointY = e.touches[0].pageY;
if( pointX > pk/2