mirror of
https://gitee.com/element-plus/element-plus.git
synced 2024-12-15 09:50:58 +08:00
25 lines
587 B
TypeScript
25 lines
587 B
TypeScript
|
import { on, once } from '@element-plus/utils/dom'
|
||
|
|
||
|
export default {
|
||
|
beforeMount(el, binding) {
|
||
|
let interval = null
|
||
|
let startTime
|
||
|
const handler = () => binding.value && binding.value()
|
||
|
const clear = () => {
|
||
|
if (Date.now() - startTime < 100) {
|
||
|
handler()
|
||
|
}
|
||
|
clearInterval(interval)
|
||
|
interval = null
|
||
|
}
|
||
|
|
||
|
on(el, 'mousedown', e => {
|
||
|
if ((e as any).button !== 0) return
|
||
|
startTime = Date.now()
|
||
|
once(document as any, 'mouseup', clear)
|
||
|
clearInterval(interval)
|
||
|
interval = setInterval(handler, 100)
|
||
|
})
|
||
|
},
|
||
|
}
|