@mucfe/matui
Version:
基于Vue和ElementUi的PC组件库
25 lines (22 loc) • 579 B
JavaScript
import { once, on } from 'mat-ui/src/utils/dom'
export default {
bind (el, binding, vnode) {
let interval = null
let startTime
const handler = () => vnode.context[binding.expression].apply()
const clear = () => {
if (Date.now() - startTime < 100) {
handler()
}
clearInterval(interval)
interval = null
}
on(el, 'mousedown', (e) => {
if (e.button !== 0) return
startTime = Date.now()
once(document, 'mouseup', clear)
clearInterval(interval)
interval = setInterval(handler, 100)
})
}
}