input事件重复触发?可能是输入法搞的鬼
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
问题的起因有这样一个需求,需要用户在输入手机号的时候,进行3-4-4这样格式化展示。 这个是一个比较常见的需求,在很多应用我们都见过,其处理的原理,就是用户在 既然知道该怎么处理了,那就简单了,直接进入浩瀚的网络,找一下这个替换的正则,是怎么写的,毕竟借鉴前人的肩膀,才能看的更高。经过一番搜索,找到了如下代码: 经过测试,功能非常漂亮,没有任何问题,是时候准备收工下班了。 问题的发现由于这个功能是涉及登录注册的,使用的非常频繁,当我把这个功能发布到测试环境的时候,风平浪静,没有任何人提出问题,我自认为,这个功能稳了,哪知道,我偶尔登录注册,输入手机号的时候,会出现这样的情况。 最初,我以为是我自己,输入过快了,导致重复,后面经过我,小心翼翼的测试,发现确实有这个的问题,输入了一次,但是input重复触发了两次。 而且这个bug产生的情况,特别诡异,如果触发了,就会一直触发,不触发,就一直不会触发,你说他是偶现,他确实是偶现,你说他是必现,当这个bug如果偶现了,那么后续这一段时间,就会一直出现,那就是偶现中的必现。 此时,我内心有点不知所措,我觉得应该请教大众的网友了,上网搜索了一番,看看大家会不会出现同样的问题,我出现了这个问题,那么其他人也可能出现,而且还是这么常见的问题。 问题的探索经过我的搜索,可能有以下原因:
按照这几个方向,排查了一遍,我开始怀疑是因为,正则的问题, 是不是因为133的时候,正则出现了133+两个空格导致,导致重复出现了input事件,最终经过测试,不是这个原因。 难道是我一直忽略掉的输入法的问题,测试了一下。确实是,在中文输入法中,这个问题必现,所以才有偶现中必现的结论。 是因为在
当 问题的解决既然知道问题是怎么发生的了,那么好解决了。思路如下:
具体参考代码如下: 转自https://juejin.cn/post/7277797749893840937 该文章在 2025/11/6 10:13:24 编辑过 |
关键字查询
相关文章
正在查询... |