debounce.js 329 Bytes EditWeb IDE 1 2 3 4 5 6 7 8 9 10 11 12 import Vue from 'vue' //防抖 Vue.directive('debounce', { inserted: function (el, binding) { let [fn, event = 'click', time = 300] = binding.value let timer el.addEventListener(event, () => { timer&& clearTimeout(timer) timer =setTimeout(() => fn(), time) }) } })