Socket
Socket
Sign inDemoInstall

vue-touchjs

Package Overview
Dependencies
10
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    vue-touchjs

Touch.js based touch events plugin for Vue2.0


Version published
Weekly downloads
12
increased by100%
Maintainers
1
Install size
458 kB
Created
Weekly downloads
 

Readme

Source

vue-touchjs 使用说明

vue-touchjs

支持vue2.0的面向指令的touch指令,基于touchjs(原百度实现的移动端手势库)

指令名v-touch

  • v-touch
 v-touch:tap="test($event)" 
  • .stop

e.stopPropagation()方法的简写。

 v-touch:tap.stop="test($event)" 

vue-touchjs支持三种 stopPropagation的方式:

  1. .stop修饰器
  2. 事件handler里面调用stopPropagation方法
  3. 事件handler里面return false

支持的事件

  • tap
  • pinchstart
  • pinch
  • pinchend
  • pinchin
  • pinchout
  • rotateleft
  • rotateright
  • rotate
  • swipestart
  • swiping
  • swipeendf
  • swipeleft
  • swiperight
  • swipeup
  • swipedown
  • swipe
  • drag
  • dragstart
  • dragend
  • hold
  • doubletap

其中 tap,是模拟点击事件,pinch模拟双指缩放,rorate是模拟旋转手势,swipe模拟快速滑动, drag模拟拖动,hold表示长按,doubletap模拟双击。

参考代码


<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no">
    <title></title>
    <style>
    div {
      width: 300px;
      height: 300px;
      background-color: #f00;
    }
    </style>
    <script>
    document.addEventListener('touchmove', function(e){
        e.stopPropagation();
        e.preventDefault();
    });
    document.addEventListener('touchstart', function(e){
        e.stopPropagation();
        e.preventDefault();
    });
    </script>
  </head>
  <body>
    <div 
      v-touch:tap="test($event)" 
      v-touch:doubletap="test($event)" 
      v-touch:hold="test($event)" 
      v-touch:swipeleft="test($event)" 
      v-touch:swiperight="test($event)" 
      v-touch:rotateright="test($event)" 
      v-touch:rotateleft="test($event)" 
     v-text="event"></div>
    <script src="example.build.js"></script>
  </body>
</html>

var Vue = require('vue');
var VueTouch = require('vue-touchjs');

Vue.use(VueTouch);

new Vue({
    el: 'div',
    data: {
        event: ''
    },
    methods: {
        test: function(el, e) {
        // el 表示挂在事件的dom结点, 默认挂在事件的dom是handler的第一个参数,为了不改变
            e.stopPropagation();
            e.preventDefault();
            this.event = e.type;
            return false;
        }
    }
});

history

0.0.9
  1. 【add】在事件回调中将事件的挂接节点作为回调的第一个参数返回

Keywords

FAQs

Last updated on 07 Mar 2017

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc