复合输入的长度限制
我们在项目中,可能会经常遇到输入框输入汉字 + 字母/符号等混合内容,并要对内容进行长度限制的需求.
很多朋友喜欢直接对拿到的输入的value进行长度限制,但是实际做过的朋友可能都会遇到问题,当输入中文、日文这种需要多个字母拼成一个文字的语言时,往往文字没有输入完成,拼写的文字就已经超出长度的限制了.从而导致,无法输入;
为了要解决这个问题,需要知道,用户正在输入的文字是否是复合输入.
如果是复合输入,我们要想办法监听复合输入的结果,而不是输入的过程.
如果是非复合输入,我们只需要监听oninput事件就可以了
所以,我们这里为了解决问题,需要用到compositionstart、compositionend、input这几个事件来实现复合输入的长度限制
// 开关,是否是复合输入
let isComposition = false;
// 可以输入的最大长度
const maxLength = 10;
// 长度验证规格
function


1万+

被折叠的 条评论
为什么被折叠?



