移动端屏蔽tap和click等事件的方法

需求情况如下:

  正在做的一个hybird app使用了cordova + html + css + js的实现方案,在首页的广告部分使用了flexslider插件,这个插件在实现loading效果的时候出现了loading层弹出时不能禁止页面滚动的情况(试用了另一个同是基于jquery的滚动插件,也有类似bug),具体原因预计除了移动端的事件穿透以外可能还有广告插件对dom的修改,于是寻找解决方案。

  目前的解决方案:在弹出loading层的时候屏蔽页面的点击拖动事件:

  

1 loadingWrapper.addEventListener('touchstart',function(e){e.preventDefault();},false);

  由于移动端touch事件拥有最先的响应顺序,touchstart是手指接触屏幕时触发,所以采用这种办法。

原文地址:https://www.cnblogs.com/ihaveahammer/p/4281136.html