前景:在同一元素上绑定单双击事件,当双击时,单击事件也会随之触发,那么如何实现双击、单击不互相影响呢?如下

1. 定义directives.js

import Vue from 'vue'const clickDown = Vue.directive('clickDown', {inserted(el, binding, vnode) {let clickTimer = null// 单击el.addEventListener('click', () => {if (clickTimer) {window.clearTimeout(clickTimer);clickTimer = null;}clickTimer = setTimeout(() => {vnode.context[binding.value.clickFun](binding.value.clickFunType);}, 300);})// 双击el.addEventListener('dblclick', () => {if (clickTimer) {window.clearTimeout(clickTimer);clickTimer = null;}vnode.context[binding.value.dblclickFu](binding.value.dblclickFuType);})},
});export default { clickDown }

2.  在main.js中,引入上面的文件

import directive from './utils/directives'Vue.use(directive)

3. 在元素上使用自定义指令

 <div v-clickDown="{ clickFun: '需要调用单击的方法', clickFunType: '单击方法的入参数' }"></div>

Vue 在同一元素上实现单击、双击事件 (将其自定义指令)相关推荐

  1. Vue 框架-02-事件:点击, 双击事件,鼠标移上事件

    Vue 框架-02-事件:点击, 双击事件,鼠标移上事件 1.单击事件:v-on:click 源码 app2.js : //实例化 vue 对象 new Vue({//注意代码格式//el:eleme ...

  2. JS中解决单击双击事件的冲突

    当一个元素上即绑定了单击事件又绑定了双击事件,双击元素时会先触发单击事件,没有达到我们理想的效果从而影响了用户体验. 解决方法: // 解决同一个元素使用单击双击事件的冲突 // 解决思路:单击事件后 ...

  3. android vue.js点击反应慢,解决vue 界面在苹果手机上滑动点击事件等卡顿问题

    用vue编写项目接近尾声,需要集成到移动端中,在webstorm上界面,运行效果都很完美,但是在苹果手机上各种问题都出现了,原生项目一向滑动流畅,事件响应迅速,可是苹果手机打开这个项目有两个问题, ( ...

  4. vue移动端点击事件延迟_解决Vue 界面在苹果手机上滑动点击事件等卡顿问题_莺语_前端开发者...

    用 (1).滑动页面卡顿, (2).点击事件响应缓慢,百度才发现在苹果手机上有300ms的延迟. 一.滑动页面卡顿 //页面布局 页面内容 在对应的组件的最外层div上加上这样的样式: .conten ...

  5. Vue 获取DOM元素 ,给DOM增加事件的特殊情况

    Vue 获取DOM元素 ,给DOM增加事件的特殊情况 给标签绑定ref属性 使用this.$refs.xxx 获取原生的jsDOM对象 ref属性值不能重名 Vue.component('subCom ...

  6. JS中解决单击双击事件的冲突的问题

    当一个父节点上即绑定了双击事件,子节点又绑定了单击时,单击或双击子节点时,根据事件流中的冒泡阶段都会先触发子节点上的单击事件,然后冒泡到父节点,而有时我们并不想要子节点的单击事件触发 解决思路: 1. ...

  7. JavaScript 技巧篇-js增加延迟时间解决单击双击事件冲突,双击事件触发单击事件

    js 的单双击事件同时存在会有一个问题:双击事件会同时触发单击事件,两个事件存在冲突. 我们加一个延迟时间就能很好的解决这个问题. 原理: 当接收到第一个点击时,我们先把单击事件存储在这个是全局变量 ...

  8. 二、Vue(发送AJAX请求、Vue生命周期、计算属性、属性和方法、自定义指令、过渡(动画))

    一. 发送AJAX请求 1. 简介     vue本身不支持发送AJAX请求,需要使用vue-resource.axios等插件实现     axios是一个基于Promise的HTTP请求客户端,用 ...

  9. js自定义双击事件(可更改双击触发间隔,解决单击双击事件冲突)

    思路: 设置一个计数器,用来记录点击的次数. 点击第一次:创建定时器,300毫秒后,执行单击操作,并将计数器归零 点击第二次:定时器还没有触发,删除定时器.执行双击操作,并将计数器归零 // 定时器 ...

  10. vue 界面在苹果手机上滑动点击事件等卡顿解决方案

    用vue编写项目接近尾声,需要集成到移动端中,在webstorm上界面,运行效果都很完美,但是在苹果手机上各种问题都出现了,原生项目一向滑动流畅,事件响应迅速,可是苹果手机打开这个项目有两个问题,(1 ...

最新文章

  1. 好文推荐,15 分钟教你搞懂 Git!
  2. ORACLE常用的动态性能视图
  3. 关于物联网通信协议(通讯协议)
  4. Linux系统下***软件大荟萃
  5. 谷歌网络代理工具_谷歌更新了Dialogflow AI引擎,帮助客户创建更好的虚拟代理...
  6. jQuery中关于Ajax的详解
  7. vue watch 修改滚动条_Vue 里的 computed 和 watch 的区别
  8. php单例模式深入讲解
  9. Daily scrum[2013.12.02]
  10. 单片机交通灯实训c语言编程,单片机交通灯程序(C语言).docx
  11. Vijos训练计划 1-1 计数问题
  12. Java常用框架介绍
  13. 配电站房可视化巡检智能监控系统
  14. Mixamo骨骼转为Unreal骨骼方法(1)
  15. 小写金额转为中文大写
  16. Lecture5-3Effective number of hypotheses
  17. CSS背景属性、定位
  18. matlab之用m脚本自动完成检查变量命名规范
  19. java菜鸟----职业的锐变之路
  20. 使用c语言计算3阶行列式

热门文章

  1. Windows 8设置保护视力的颜色
  2. myscript 思路整理
  3. jwt token注销_JWT 管理用户登录时,都需要把 token 存数据库里,判断用户登出时删除吗?...
  4. 制作照片边框 初学者 ps
  5. linux生成4g文件,linux中创建超过4g文件的方法-o_largefile?
  6. 不要在意别人的目光,走自己的路
  7. ctf 实验吧 围在栅栏中的爱 (最近一直在好奇一个问题,QWE到底等不等于ABC? )
  8. 基于DNN的IMDB电影数据集文本分类
  9. Chrome浏览器设置中文系统语言
  10. monodepth2训练细节