情景描述
在做项目时第三方接口返回内容为按某固定分割符拼接的一个长的字符串,需要自己拆分每一项。正好最近在学Vue3,为了方便看每项内容打算写个拆分的前端脚本。
事件描述
脚本打算不使用确定按钮完成拆分,用input事件完成自动拆分。在测试input事件的时候,突然发现一个神奇的现象。输入一个数字1结果调用了三次方法,当时整个人都懵了。发生了什么???
问题描述
为了解决这一问题各种上网搜索办法,又各种测试,最后发现问题:我用了中文输入法,切换到英文输入法就不会这样。然后又是一脸懵,这和中英文输入法有关系???这算是我这个小脚本的bug了,得治,继续上网搜。
解决问题
经过查阅资料,了解到如下几个事件compositionstart,compositionupdate ,compositionend。
1.compositionstart:文本合成系统如 input method editor(即输入法编辑器)开始新的输入合成时会触发 compositionstart 事件(摘自MDN