javascript - JS监听了触摸事件后,无法监听a标签的点击事件?
ringa_lee
ringa_lee 2017-04-11 10:47:11
[JavaScript讨论组]

如图,移动端的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>标签就没有反映了。可有解决方案?? 谢谢!

ringa_lee
ringa_lee

ringa_lee

全部回复(1)
黄舟

event.preventDefault()删掉试试看

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号