一、为什么
因为在数学里e 代表无理数,e是自然对数的底数,同时它又是一个无限不循环小数,所以我们在输入 e 时,输入框会默认 e 是数字,从而没有对它进行限制。
二、解决方案
小提示:vue下监听事件需要加native,原因:只有添加native才能监听到原生事件
- 1、原生input下
- "number" value="" keydown="onFormatInputLimit"/>
-
-
- 2、Vue/Vue-ui组件
"number" v-model="value" @keydown.native="onFormatInputLimit" /> -
-
- // 不允许输入e
- // 存在弊端:中文输入法下依然可以输入e,需要针对性做处理
- onFormatInputLimit(event) {
- if (event.key === 'e') {
- event.returnValue = false
- return false
- }
-
- return true
- }