禁用微信h5的长按弹窗

我在页面上有自己的长按事件,但是当我长按时在微信h5上会自动弹出一个弹窗,怎样把微信h5的自定义弹窗取消掉

这是微信h5自带的弹窗
image.png

这是我的长按事件

<view class="avatar-box" @pointerdown="pointerdown" @pointerup="pointerup">
  ...
  <img src="..." />
</view>
    pointerdown(e) {
      this.tid = setTimeout(() => {
        // ...
      }, 5 * 1000);
      e.stopPropagation?.();
      e.stopImmediatePropagation?.();
      e.preventDefault?.();
    },
    pointerup() {
      if (this.tid) clearTimeout(this.tid);
    },
.avatar-box {
  user-select: none;
  ...
}
阅读 4.2k
2 个回答

设置 css user-select: none; 好像就不会弹框了


我记错了 是pointer-events: none;

这次我特地试了下 可行

ele.ontouchstart = e => e.preventDefault()
ps: pointer是模拟的还是就是原生的pointer事件?这个事件的兼容性还不是很好,不建议用

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进