出现场景:有两层重叠的元素,上面的元素有 touch 事件( 点击后要消失 ),下面是一个默认会触发 click 事件的元素( a、表单元素、带 click 事件的元素 )

  1. 1. 一般出现在有遮罩层的页面中

1️⃣ 解决方法

下层的元素不要用能点击的标签,并且不要给它们添加事件
把上面的元素的事件换成 click 事件
取消事件的默认动作

  1. // 上层元素取消事件的默认动作
  2. div.addEventListener('touchstart', e => {
  3. e.preventDefault();
  4. })