加在 main.js
中
防抖
Vue.directive('preventReClick', {
inserted(el, binding) {
el.addEventListener('click', () => {
if (!el.disabled) {
el.disabled = true
setTimeout(() => {
el.disabled = false
}, binding.value || 2000)
}
})
}
});
只能输入数字和小数点
Vue.directive('inputNumber', {
inserted(el) {
el.oninput = () => {
el.children[0].value = el.children[0].value.replace(/[^\d.]/g, "");//先把非数字的都替换掉,除了数字和.
el.children[0].value = el.children[0].value.replace(/^\./g, "");//必须保证第一个为数字而不是.
el.children[0].value = el.children[0].value.replace(/\.{2,}/g, "");//保证只有出现一个.而没有多个.
el.children[0].value = el.children[0].value.replace(".", "$#$").replace(/\./g, "").replace("$#$", "."); //保证.只出现一次,而不能出现两次以上
};
}
});
网友评论