亲宝软件园·资讯

展开

vant/vue手机端长按事件以及禁止长按弹出菜单实现方法详解

Nanchen_42 人气:0

vant/vue实现手机端长按事件

先给两个事件

      @touchstart="start"
      @touchend="end"

 因为vue里的touchend没有封装,所以需要我们自己去写

方法如下:

    start() {
      clearTimeout(this.loop); //再次清空定时器,防止重复注册定时器
      this.loop = setTimeout(() => {
        console.log("长按了");
      }, 1000);
    },
 
    end() {
      clearTimeout(this.loop); //清空定时器,防止重复注册定时器
    },

 之后发现长按后出现弹出菜单的现象,所以这里要解决一下如何去禁用弹出的菜单

vant/vue实现禁止长按弹出菜单 

找到对应需要禁用菜单的页面 

* {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
 document.oncontextmenu = function (e) {
      e.preventDefault();
    };

如果是想要停止冒泡,对需要停止冒泡的元素使用onclick.stop即可

加载全部内容

相关教程
猜你喜欢
用户评论