核心技术:
(1)onkeydown:会在用户按下一个键盘按键时发生。
(2)onkeypress:会在键盘按键被按下并释放一个键时发生。
(3)onkeyup:会在键盘按键被松开时发生。
注意点:与onkeyup 事件相关的事件发生次序:onkeydown、onkeypress、onkeyup`
` <el-input
v-model="scope.row.dodNum"
ref="inputNum"
oninput ="value=value.replace(/[^0-9.]/g,'0')"
onkeyup="this.value=this.value.match(/\d+\.?\d{0,2}/);this.dispatchEvent(new Event('input'))"
onfocus=" this.value = ''"
v-on:mouseover.native="mouseOverNum"
/>
onkeyup这里有个坑!
vue的v-model是监听input框的input事件生效的。
而通过value直接操作dom元素,vue的v-model是监听不到的!
所以要手动分发一个input事件使v-model监听到。
this.dispatchEvent(new Event(‘input’))
当然这样会导致这句代码在每个input里面复用。也搜过其他人的封装。都感觉不是很灵活,只针对一种正则进行限制。留个坑看以后会不会封装吧。。
引用:http://t.zoukankan.com/javalinux-p-15632150.html