Vue Component Bind Mouse And Touch Events Gestures | UseGesture

Vue UseGesture is a hook that allows you to hook up a richer mouse and touch events to any component or display. With the data you receive, setting up gestures becomes trivial, often requiring no more than a few lines of code.

You can use it on its own, but to get the most out of it you should combine it with an animation library like vue-use-spring, although you could certainly use any other.

How to make use of it:

Install and download:

# Yarn
$ yarn add vue-use-gesture

# NPM
$ npm i vue-use-gesture

1. Import UseGesture.

import { useDrag } from ‘vue-use-gesture’
import { useSpring } from ‘vue-use-spring’
import { defineComponent, computed } from ‘vue’

2. Primary use.

<template>
  <div v-bind="bind()" :style="style" class="box"></div>
</template>
export default defineComponent({
  setup() {
    const [{ x, y }, set] = useSpring(() => ({ x: 0, y: 0 }))
    const bind = useDrag(({ down, movement: [mx, my] }) => {
      set({ x: down ? mx : 0, y: down ? my : 0 })
    })
    const style = computed(() => ({ transform: `translate3d(${x.value}px,${y.value}px,0)` }))
    return { bind, style }
  },
})

Available hooks

vue-use-gesture exports several hooks that can handle different gestures:

HookDescription
useDragHandles the drag gesture
useMoveHandles mouse move events
useHoverHandles mouse enter and mouse leave events
useScrollHandles scroll events
useWheelHandles wheel events
usePinchHandles the pinch gesture
useGestureHandles multiple gestures in one hook

Generic options

Generic options deal with how 👍 ‌ ‌Vue UseGesture will set event listeners.

OptionDescription
domTargetLets you specify a dom node or Vue ref to which you want to attach the gesture too.
eventOptionsLets you customize if you want events to be passive or captured.
windowLets you specify which window element the gesture should bind events to (only relevant to the drag gesture).
enabledWhen set to false none of your handlers will be fired.

See Demo And Download

Official Website(koca): Click Here

This superior jQuery/javascript plugin is developed by koca. For extra Advanced Usage, please go to the official website.

Related Posts

HStack-and-VStack-in-CSS

CSS Layout Components Horizontal/Vertical Stack | HStack and VStack

HStack and VStack in CSS – CSS layout components that (basically) stack anything horizontally and vertically. A pure CSS library that makes it easy to stack elements…

Floating-Whatsapp-Chat-Button

How to Add Floating Whatsapp Chat Button In HTML | venom-button

Venom Button is a very simple plugin for the jQuery floating WhatsApp button. Adds a floating button to your site that calls WhatsApp Click to Chat API. It will automatically start the WhatsApp…

Data-Table-Generator-Tabulator

Interactive Data Table Generator with JS/jQuery and JSON | Tabulator

Tabulator allows you to create interactive tables in seconds from any HTML Table, JavaScript array, AJAX data source, or JSON format data. Just include the library in your…

alert-confirm-prompt-attention-js

Simple Alert, Confirm, Prompt Popup Using Vanilla JavaScript Library | attention.js

JavaScript provides various built-in functionality to display popup messages for different purposes. Attention JS is a vanillaJS plugin used to create a custom alert, confirm, or Prompt…

Bootstrap-4-Sidebar-Menu-Responsive-Template

Bootstrap 4 Sidebar Menu Responsive Template | MDB

Bootstrap Side Navbar – Responsive sidebar template based on the Bootstrap 4 framework. An easy-to-use, totally responsive, Google Material Design impressed aspect navigation for modern web app…

Bootstrap-4-Toast-Notification-Plugin

Lightweight Bootstrap 4 Toast Notification Plugin | BS4 Advanced Toast

A lightweight Bootstrap 4 Toast Notification plugin integrated with JS/jQuery. bs4-toast.js is a JavaScript library that enhances the native Bootstrap toast component with icons, buttons, callbacks, and…

Leave a Reply

Your email address will not be published. Required fields are marked *