vue-touch

Hammer.js based touch events plugin for Vue.js
296,955 2,699
Install
npm install vue-touch
Latest Version:1.1.0
Vue:1
License:MIT
Last Updated:Dec 22, 2018
Links: GitHub  ·  npm
Maintainer: linusborg

vue-touch

Touch events plugin for Vue.js

This is a directive wrapper for Hammer.js 2.0.

Install

CommonJS
  • Available through npm as vue-touch.

    var VueTouch = require('vue-touch')
    Vue.use(VueTouch)
    
Direct include
  • You can also directly include it with a <script> tag when you have Vue and Hammer.js already included globally. It will automatically install itself, and will add a global VueTouch.

Usage

Using the v-touch directive
<a v-touch:tap="onTap">Tap me!</a>

<div v-touch:swipeleft="onSwipeLeft">Swipe me!</div>
Configuring Recognizer Options

There are two ways to customize recognizer options such as direction and threshold. The first one is setting global options:

// change the threshold for all swipe recognizers
VueTouch.config.swipe = {
  threshold: 200
}

Or, you can use the v-touch-options directive to configure the behavior on a specific element:

<!-- detect only horizontal pans with a threshold of 100 -->
<a
  v-touch:pan="onPan"
  v-touch-options:pan="{ direction: 'horizontal', threshold: 100 }">
</a>
Registering Custom Events
// example registering a custom doubletap event.
// the `type` indicates the base recognizer to use from Hammer
// all other options are Hammer recognizer options.
VueTouch.registerCustomEvent('doubletap', {
  type: 'tap',
  taps: 2
})
<a v-touch:doubletap="onDoubleTap"></a>

See Hammer.js documentation for all available events.

See /example for a multi-event demo. To build it, run npm install && npm run build.

License

MIT

Version History

Version Released Vue License
1.1.0 ^1.0.16 MIT
1.0.2 ^1.0.16 MIT
1.0.1 ^1.0.16 MIT
1.0.0 ^1.0.16 MIT
0.1.2 ^0.10.5 MIT
Pre-releases (4)
Version Released Vue License
2.0.0-beta.4 ^2.1.6 MIT
2.0.0-beta.3 ^2.1.6 MIT
2.0.0-beta.2 ^2.1.6 MIT
2.0.0-beta.1 ^2.1.6 MIT