vue-mb-touch Vue 移动端事件组件开源项目

我要开发同款
匿名用户2019年07月17日
35阅读
开发技术JavaScript
所属分类Vue组件、Web应用开发、Vue 组件
授权协议MIT

作品详情

vue-mb-touch

vue-mb-touch是一个vue的移动端的事件项目,内置了点击(press)事件,长按(press)事件

安装npminstallvue-mb-touch

使用方法

安装引入在需要监听tap或者press的元素上添加v-touch指令,后面就可以像监听click事件一样使用v-on:tap="fn"的方式监听tap和press事件了示例<template><divv-touch.press.tap@tap="tap"@press="press"></div></template><scriptlang="ts">import{Component,Vue}from"vue-property-decorator";importvueMobileTouchfrom"vue-mb-touch";Vue.use(vueMobileTouch);@ComponentexportdefaultclassHomeextendsVue{publictap(){/**tap*/}publicpress(e:Event){/**press*/}publicdata(){return{};}}</script>````>开启代理模式````vue<template><ulv-touch.proxy@tap="tap($event)"><lidata-proxydata-index="1"></li><lidata-proxydata-index="2"></li><lidata-proxydata-index="3"></li></ul></template><scriptlang="ts">import{Component,Vue}from"vue-property-decorator";importvueMobileTouchfrom"vue-mb-touch";Vue.use(vueMobileTouch);@ComponentexportdefaultclassHomeextendsVue{publictap(e:event){constcurrentTarget=e.currentTargetasHTMLElement;console.log(currentTarget.tagName.toLowerCase());//liconsole.log(JSON.stringify(currentTarget.dataset));//{proxy:"",index:"1"}}publicdata(){return{};}}</script>全局配置

在引入vue-mb-touch时,可以传入一个全局配置对象。该对象目前支持maxDistance与pressTime,maxDistance用于手指在屏幕上移动多长距离内可触发事件默认10,pressTime用于手机按住屏幕多长时间触发长按事件,默认650。具体操作如下:

importVuefrom'vue';importvueMobileTouchfrom"vue-mb-touch";Vue.use(vueMobileTouch,{maxDistance:10,pressTime:650});

指令参数

参数名描述tap是否开启tap事件,默认不开启,但是在tap和press都不开启时,则自动开启 press 是否开启press事件,默认不开启stop是否阻止事件冒泡,默认不阻止prevent是否阻止游览器默认行为,默认不阻止passive是否为passive监听器,如果有该参数,则阻止游览器默认行为无效capture是否为捕获监听器,默认不是proxy是否开启事件代理模式,默认不开启,开启后台在需要触发事件的目标元素上添加 data-proxy即可注意

如果是在vue封装的组件上使用v-touch指令,在监听事件时,需要加上native参数

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论