UNPKG

element3

Version:

A Component Library for Vue3

40 lines (34 loc) 900 B
let isDragging = false export default function (element, options) { // if (Vue.prototype.$isServer) return const moveFn = function (event) { if (options.drag) { options.drag(event) } } const upFn = function (event) { document.removeEventListener('mousemove', moveFn) document.removeEventListener('mouseup', upFn) document.onselectstart = null document.ondragstart = null isDragging = false if (options.end) { options.end(event) } } element.addEventListener('mousedown', function (event) { if (isDragging) return document.onselectstart = function () { return false } document.ondragstart = function () { return false } document.addEventListener('mousemove', moveFn) document.addEventListener('mouseup', upFn) isDragging = true if (options.start) { options.start(event) } }) }