javascript - JS监听了触摸事件后,无法监听a标签的点击事件?
本文介绍了javascript - JS监听了触摸事件后,无法监听a标签的点击事件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
如图,移动端的web需要图片轮播和滑动切换,每一张海报是一个<a>
标签,可以点击。
既然要轮播和滑动切换,区域内需要监听左滑和右滑动,于是我是这样实现的:
App.prototype.addLister = function() {
var startX = "", endX = "", moveX = "";
var offset = document.getElementById('offset'); //轮播的窗口
var self = this;
offset.addEventListener('touchstart', function(event) {
event.preventDefault();
startX = event.targetTouches[0].pageX; //触碰开始时的X坐标
}, false);
offset.addEventListener('touchend', function(event) {
endX = event.changedTouches[0].pageX; //触碰结束时的X坐标
moveX = startX - endX; //计算差值,超过一定范围则调用相应函数
if (moveX > 20) {
self.moveLeft(offset); //监听到左滑动时触发的函数
}
if (moveX < -20) {
self.moveRight(offset); //监听到右滑动时触发的函数
}
}, false);
}
然而,这样实现后,区域内点击<a>
标签就没有反映了。可有解决方案?? 谢谢!
解决方案
把event.preventDefault()
删掉试试看
这篇关于javascript - JS监听了触摸事件后,无法监听a标签的点击事件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文