移动端web app 全面禁止事件默认行为--解决a标签跳转问题

1.全面禁止事件的默认行为:

<script type="text/javascript">
  window.onload = function () {
    document.addEventListener('touchstart',function (ev) {
      ev = ev || event;
      ev.preventDefault()
    })
  }
//注意 ev.preventDefault() 阻止默认事件行为在Chrome浏览器手机端测试台上会发出警告不能阻止 事件的默认行为
应该以真机为准
</script>

显示警告内容如下图所示:
在这里插入图片描述

解决a标签跳转问题及滑动屏幕误触行为:

<body>
	<a href="http://www.*****.com">点击跳转</a>
</body>
    let aNode = document.querySelectorAll('a')//获取所有a标签节点(静态列表)
    for(let i = 0;i<aNode.length;i++){//循环遍历 为每一个a节点添加手指点击事件
      aNode[i].addEventListener('touchstart',function () {//touchstart手指按下事件
        this.isMove = false   //isMove 判断是否发生滑动
      })
      aNode[i].addEventListener('touchmove',function () {//touchmove手指滑动事件
          this.isMove = true
      })
      aNode[i].addEventListener('touchend',function () {//touchend手指抬起事件
        if (!this.isMove){
          location.href = this.href  //使用location.href 来进行跳转
        }
      })
    }
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值