返回顶部
首页 > 资讯 > 精选 >vue怎么实现按钮的长按功能
  • 120
分享到

vue怎么实现按钮的长按功能

2023-06-29 00:06:55 120人浏览 八月长安
摘要

这篇文章主要介绍“Vue怎么实现按钮的长按功能”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue怎么实现按钮的长按功能”文章能帮助大家解决问题。效果图如下:实现效果图:实现思路:给需要操作的 do

这篇文章主要介绍“Vue怎么实现按钮的长按功能”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue怎么实现按钮的长按功能”文章能帮助大家解决问题。

效果图如下:

实现效果图:

vue怎么实现按钮的长按功能

实现思路:

给需要操作的 dom 元素添加touchstart(点击开始)、touchend(点击结束)、touchmove(手指移动)事件
在使用touchstart(点击开始)事件的时候设置定时器,在指定时间内如果不做其他操作就视为 长按事件,执行 长按事件 的同时需要设定当前不是 单击事件,以防止touchend(点击结束)执行的时候同时出现 长按事件 和 单击事件
在 touchend(点击结束)里面清除定时器,并判断是不是 单击事件
在 touchmove(手指移动)里面清除定时器,并设定当前不是 单击事件

代码

html

<div @touchstart="Gotouchstart" @touchmove="gotouchmove" @touchend="gotouchend" class="div">按钮</div>

js

export default {  data() {    return {}  },  methods: {    // 手指按下事件    gotouchstart() {      window.isClick = true      clearTimeout(this.timeOut)      this.timeOut = setTimeout(function() {        console.log('在这里执行长按事件')        window.isClick = false      }, 500)    },    //手释放,如果在500毫秒内就释放,则取消长按事件,此时可以执行onclick应该执行的事件    gotouchend() {       if (window.isClick) {        console.log('在这里执行点击事件')      }    //如果手指有移动,则取消所有事件,此时说明用户只是要移动而不是长按    gotouchmove() {      console.log('手指移动了')      window.isClick = false    }  // 项目销毁前清除定时器  beforeDestroy() {    clearTimeout(this.timeOut)  }}

style(去除长按出现的文字复制影响)

 -WEBkit-touch-callout:none;    -webkit-user-select:none;    -khtml-user-select:none;    -moz-user-select:none;    -ms-user-select:none;    user-select:none;

补充:下面看下Vue使用自定义指令实现按钮长按提示功能,超简单!

项目场景

点击按钮实现长按,用户需要按下按钮几秒钟,然后触发相应的事件

实现思路

  • 首先,需要创建一个计时器,在2 秒后开始执行函数,用户按下按钮时触发 mousedown 事件,开始计时;

  • 当鼠标移开按钮时开始调用 mouseout事件

  • 第一种情况,当 mouseup 事件 2 秒内被触发了,需要清除计时器,相当于进行了普通的点击事件

  • 第二种情况,当计时器没有在 2 秒内清除,那么这就可以判定为一次长按,可以执行长按的逻辑了。

  • 如果在移动端使用,使用的就是 touchstarttouchend 事件了 实现效果

vue怎么实现按钮的长按功能

实现代码

<template>  <div>   <div class="btn-copy"><el-button v-press="handleClickLong">长按</el-button></div>  </div></template><script>import press from '../../directive/test/press'export default {  directives: {    press  },  data(){    return{    }  },  methods:{    handleClickLong () {      alert('实现了长按哦!!!')    },  }}</script><style lang="sCSS"></style>

press.js文件如下:

const press = {  bind: function (el, binding, vnode) {    console.log(el, binding, vNode)    // el就是dom    if (typeof binding.value !== 'function') {      throw 'callback must be a function'    }    // 定义变量    let pressTimer = null    // 创建计时器( 2秒后执行函数 )    let start = (e) => {      if (e.type === 'click' && e.button !== 0) {        return      }      if (pressTimer === null) {        pressTimer = setTimeout(() => {          handler()        }, 2000)      }    }    // 取消计时器    let cancel = (e) => {      console.log(e)      if (pressTimer !== null) {        clearTimeout(pressTimer)        pressTimer = null      }    }    // 运行函数    const handler = (e) => {      binding.value(e)    }    // 添加事件监听器    el.addEventListener('mousedown', start)    el.addEventListener('touchstart', start)    // 取消计时器    el.addEventListener('click', cancel)    el.addEventListener('mouseout', cancel)    el.addEventListener('touchend', cancel)    el.addEventListener('touchcancel', cancel)  },  // 当传进来的值更新的时候触发  componentUpdated(el, { value }) {    el.$value = value  },  // 指令与元素解绑的时候,移除事件绑定  unbind(el) {    el.removeEventListener('click', el.handler)  },}export default press

关于“vue怎么实现按钮的长按功能”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: vue怎么实现按钮的长按功能

本文链接: https://lsjlt.com/news/321504.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • vue怎么实现按钮的长按功能
    这篇文章主要介绍“vue怎么实现按钮的长按功能”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue怎么实现按钮的长按功能”文章能帮助大家解决问题。效果图如下:实现效果图:实现思路:给需要操作的 do...
    99+
    2023-06-29
  • vue实现按钮的长按功能
    先给大家介绍下vue实现按钮的长按功能,效果图如下: 实现效果图:   实现思路: 给需要操作的 dom 元素添加touchstart(点击开始)、touchend(点击...
    99+
    2024-04-02
  • CSS3怎么实现按钮功能
    这篇文章主要讲解了“CSS3怎么实现按钮功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CSS3怎么实现按钮功能”吧!今天我又看到一个很好看的按钮。设计师...
    99+
    2024-04-02
  • Android编程实现长按Button按钮连续响应功能示例
    本文实例讲述了Android编程实现长按Button按钮连续响应功能。分享给大家供大家参考,具体如下: 在电商类app的购物车页面,经常会有这样的需求:长按“+”按钮或者“-”...
    99+
    2022-06-06
    button 示例 Android
  • android长按删除功能怎么实现
    要实现Android长按删除功能,可以通过以下步骤: 在布局文件中定义一个需要长按删除的控件,比如一个Button或者一个Ima...
    99+
    2024-03-05
    android
  • JavaFx实现按钮防抖功能
    目录JavaFX实现原理实现代码Kotlin版:Kotlin优化版Java版JavaFX JavaFX 是一个开源的下一代客户端应用平台,适用于基于Java构建的桌面、移动端和嵌入式...
    99+
    2024-04-02
  • 怎么用CSS3实现返回功能按钮
    本篇内容介绍了“怎么用CSS3实现返回功能按钮”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在过去的年代,...
    99+
    2024-04-02
  • CSS怎么实现遥控器按钮功能
    本篇内容主要讲解“CSS怎么实现遥控器按钮功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CSS怎么实现遥控器按钮功能”吧!html结构<view class="bu...
    99+
    2023-07-04
  • vue中怎么实现按钮跳转
    vue中实现按钮跳转的方法:1、在html文件中使用button标签设置按钮并添加点击事件;2、在vue的methods中添加方法实现页面跳转;3、通过浏览器查看设计效果即可。具体操作方法:在html文件中使用“button”标签设置一个按...
    99+
    2024-04-02
  • vue按钮怎么实现权限控制
    这篇文章主要讲解了“vue按钮怎么实现权限控制”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue按钮怎么实现权限控制”吧!一、步骤1.定义buttom权限在state中创建buttomPe...
    99+
    2023-06-22
  • Vue怎么实现波纹按钮效果
    这篇文章主要介绍了Vue怎么实现波纹按钮效果的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue怎么实现波纹按钮效果文章都会有所收获,下面我们一起来看看吧。先说一下用法:<zk-button c...
    99+
    2023-07-04
  • Android实现按钮拖拽还原功能
    具体代码如下所示: public class MainActivity extends AppCompatActivity { private ImageButton i...
    99+
    2022-06-06
    还原 按钮 Android
  • JS如何实现按钮闪烁功能
    这篇文章主要为大家展示了“JS如何实现按钮闪烁功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JS如何实现按钮闪烁功能”这篇文章吧。html<body&...
    99+
    2024-04-02
  • JavaFx如何实现按钮防抖功能
    这篇文章主要介绍了JavaFx如何实现按钮防抖功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。JavaFXJavaFX 是一个开源的下一代客户端应用平台,适用于基于Java...
    99+
    2023-06-28
  • CSS按钮怎么实现
    这篇文章将为大家详细讲解有关CSS按钮怎么实现,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。   例一:   首先,我们将给出按钮的一般样式,包括其活动状态。重要...
    99+
    2024-04-02
  • android中怎么实现长按选择文字功能
    android中怎么实现长按选择文字功能,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1.实现原理原理其实也不难,简单总结就是:绘制文字时把显示的文字的坐标记录下来(记录文...
    99+
    2023-05-31
    android
  • js点击按钮改变按钮文字怎么实现
    要实现点击按钮改变按钮文字,可以使用JavaScript来操作DOM元素。首先,需要获取按钮元素,然后给按钮添加一个点击事件的监听器...
    99+
    2023-08-08
    js
  • vue怎么实现移动端的开关按钮
    本篇内容主要讲解“vue怎么实现移动端的开关按钮”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue怎么实现移动端的开关按钮”吧!逻辑:写一个椭圆形的div动态改变这个椭圆形的div的背景颜色写...
    99+
    2023-06-29
  • ElementUI怎么实现el-form表单重置功能按钮
    这篇文章主要介绍“ElementUI怎么实现el-form表单重置功能按钮”,在日常操作中,相信很多人在ElementUI怎么实现el-form表单重置功能按钮问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”E...
    99+
    2023-06-20
  • android点击按钮退出程序功能怎么实现
    要实现Android点击按钮退出程序的功能,可以使用以下步骤:1. 在XML布局文件中,创建一个按钮控件:xml2. 在Java代码...
    99+
    2023-10-20
    android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作