做项目这么久,每次遇到要限制input框数据时,都是好一阵纠结,究竟在哪限制比较好?

情况1:输入数据的时候,不做限制,只有在点击确定的时候提醒用户
问题:交互感觉不好,可以随意输入,明明限制输入数字,效果如下:
情况2:和情况1差不多,但是在blur时候处理数据或提示用户
问题:如果点击确定才做验证,有可能先执行提交click事件再执行blur的情况
情况3:在输入的时候就做限制
问题:改变用户输入,光标有时不在用户原来输入的位置,而且触发时机要注意,是keyup?change?
个人感觉情况3的交互是最好的,而keyup一般情况下还可以,但是有种情况却会出现bug,如下图:
通过中文输入法,输入一段,然后用鼠标点击input以外的地方,使它失去了焦点。而刚刚所输入的内容就录入到输入框内。

在项目开发中,针对input输入框的数据限制常常是开发者需要考虑的问题。本文探讨了三种不同限制输入的方式:提交时验证、失去焦点时处理和实时输入限制。作者推荐实时输入限制,并指出在keyup事件中可能存在的问题,特别是在使用中文输入法时。为解决这个问题,作者选择在input的change事件中进行验证,并提供了Angular的实现示例。


最低0.47元/天 解锁文章
2573

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



