美文网首页
Vue 移动端的长按与触摸事件

Vue 移动端的长按与触摸事件

作者: 归子莫 | 来源:发表于2021-08-12 16:14 被阅读0次

Vue 移动端的长按与触摸事件

博客说明

文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢!

说明

在手机端的需求难免会遇到与手势相关的,比如div的长按和单击事件,长按可能是分享或者删除等操作,一般的形式是通过弹窗来展现。

实现

其实主要是利用dom的触摸事件,touchstart,touchmove,touchend

代码

<template>
  <div>
    <div class="btn-long" @touchstart="handlerTouchstart" @touchmove="handlerTouchmove" @touchend="handlerTouchend">长按我</div>
    <div v-if="clickShow">单击</div>
    <div v-if="longClickShow">双击</div>
  </div>
</template>

<script>

export default {
  name: 'LongTouch',
  data () {
    return {
      // 定时器
      loop: 0,
      clickShow: false,
      longClickShow: false
    }
  },
  methods: {
    handlerTouchstart () {
      this.loop = setTimeout(() => {
        this.loop = 0
        // 执行长按要执行的内容
        this.clickShow = false
        this.longClickShow = true
      }, 500) // 定时的时间
      return false
    },
    handlerTouchmove () {
      // 清除定时器
      clearTimeout(this.loop)
      this.loop = 0
    },
    handlerTouchend () {
      // 清除定时器
      clearTimeout(this.loop)
      if (this.loop !== 0) {
        // 单击操作
        this.clickShow = true
        this.longClickShow = false
      }
    }
  }
}
</script>

<style scoped>

.btn-long {
  width: 200px;
  height: 30px;
  background-color: red;
}
</style>

演示

image-20210811175110960

发现在长按时,会出现选中文字的效果,这比较影响体验。

优化体验

在css中加入样式,这样就不会出现选中的效果了。

* {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

感谢

万能的网络

以及勤劳的自己,个人博客GitHub测试GitHub

相关文章

  • Vue 移动端的长按与触摸事件

    Vue 移动端的长按与触摸事件 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有...

  • 移动端------移动事件对

    在移动端,用户每时每刻都在触发移动事件,比如触摸的事件,点击,长按,左右滑动的事件,手指缩放,等等。都是移动事件的...

  • vue移动端长按事件

    代码

  • Vue移动端长按事件

    页面布局如下: 说明:因为这里是长按一张指纹图片,移动端长按图片会提示“保存图片”,虽然不影响跳转,但是会误导用户...

  • Vue移动端触摸事件

    其实就是一个TouchEvent对象+上Vue的自定义事件,实现移动端的上滑、下滑、左滑、右滑,长按、点击 组件 ...

  • 移动端指纹识别(长按事件)

    移动端有些H5项目上有模拟指纹识别的效果,其实也就是长按事件。核心就是判断触摸的长短,以及阻止页面的默认长按事件。...

  • jQuery Mobile事件

    触摸与滑动事件 tap触摸事件,点击目标进行隐藏 taphold长按事件,单击没有效果,长按后目标进行隐藏 swi...

  • touch触摸事件

    原声移动端触屏事件touch分为3个事件: touchstart 触摸开始touchmove 触摸移动touc...

  • 移动端触摸事件

    移动端触摸事件添加方式值能用 addEventListeber(),方式绑定 移动触摸事件有4个: 1、touch...

  • 移动端触屏事件

    什么是触屏事件?移动端的触摸产生的一系列行为; 在移动端,原生触摸事件只有以下三种类型,其他所有的触摸事件都是由这...

网友评论

      本文标题:Vue 移动端的长按与触摸事件

      本文链接:https://www.haomeiwen.com/subject/iomlbltx.html