禁用微信h5的长按弹窗

ajanuw
  • 40

我在页面上有自己的长按事件,但是当我长按时在微信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;
  ...
}
回复
阅读 1.2k
2 个回答
FX052
  • 1.4k
✓ 已被采纳

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


我记错了 是pointer-events: none;

这次我特地试了下 可行

zangeci
  • 10.6k

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

宣传栏