实现在输入框中按Esc后(阻止输入,或者输入无效)
只读是不能光标移动的,请直接放弃
-
阻止输入(思路一)
-
我已用js实现在输入框中按Esc后阻止输入,但是对中文输入法无效
- keydown响应Esc键判断
- keypress e.preventDaufet阻止输入(对中文输入无效)
-
已有阻止中文的方法
-
这个基本已经实现了,但是在主这个中this.value是通过改变整个输入框中值来实现的,有些多余,当文本多就不友好,而且当输入框有多个,就会有多个绑定事件存在
-
输入无效(思路二)
- 基于上「 keydown响应Esc键判断 」
- 对在按下Esc键后的生成的字符进行删除,使即使输入后也会被删除
用改value的方法来实现,还是有上面的痛点
我想通过js,jq模拟点击键盘上backspace来实现,一次输入多少字符,就删多少字符
找了许多,没有好的解决方案
在输入前记录光标位置,当用户触发ESC建时候对保留的光标位置后的文本进行删除。具体获取光标位置参考MDN文档 https://developer.mozilla.org/zh-CN/docs/Web/API/Window/getSelection