1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > vue自定义指令---输入框禁止输入特殊字符

vue自定义指令---输入框禁止输入特殊字符

时间:2020-05-01 05:13:56

相关推荐

vue自定义指令---输入框禁止输入特殊字符

在输入框中经常要限制它的可输入范围,一般都是调用onChange事件,然后通过正则表达式来处理输入的内容,这样代码量比较大而且不好维护,所以我们需要自定义一个指令来解决这问题。

新建指令文件

import Vue from 'vue'Vue.directive('emoji', {bind: function (el, binding, vnode) {// 自定义正则表达式var regRule = /[^a-zA-Z0-9]/gel.$handle = function () {let val = el.valueel.value = val.replaceAll(regRule, '')trigger(el, 'input')}el.addEventListener('keyup', el.$handle)},unbind: function (el) {el.removeEventListener('keyup', el.$handle)},});const trigger = (el, type) => {let ev = document.createEvent('HTMLEvents');//创建HTML事件ev.initEvent(type,true,true);//初始化事件,type为事件类型,如inputel.dispatchEvent(ev);//派发事件}let findEle = (parent, type) => {return parent.tagName.toLowerCase() === type ? parent : parent.querySelector(type)}

注意这里注意,不仅仅要修改值而已,还要触发它绑定的对应事件,否则不会触发双向绑定

写完了在main.js中引入试试

然后就可以在全局页面中使用了

这样就输入非法值以后也会触发双向绑定

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。