一个开发过程中输入有关的问题
在网页开发中,我们在input框内输入的时候,系统会自动识别我们的输入法,如果是中文,就会等待打字完成再进行输入,如果是英文,就会实时输入,<除了这两种输入法没用过别的,所以不能信口开河去判定别的输入法是否合适此问题>,那它是如何实现的呢?
一直以来都比较好奇,直到看到了mdn的 compositionstart 这个API,才算是大概明白<其实老早就看到过这个API,只是当时不明白它是干啥用的>Element: compositionstart event
MDN上面是这么介绍的:
The compositionstart event is fired when a text composition system such as an input method editor starts a new composition session.
当文本合成系统(例如输入法编辑器)启动新的合成会话时会触发 compositionstart 事件
从上面的介绍中我们可以得到以下信息:
首先,触发这个事件,必须是文本合成系统,即可输入文本的框,例如 input,textarea 等
其次,compositionstart 这个事件应该是配对使用的,相对应的是 compositionend
由此可以得出的操作步骤:
在发现 compositionstart 这个API之前,如果想获得当前输入框内的中文比较麻烦,要通过正则去做一系列的事情,取的还不一定正确:
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END