<input
ref="input"
@input="handleComposition"
@compositionstart="handleComposition"
@compositionupdate="handleComposition"
@compositionend="handleComposition"
\>
handleComposition(event) {
console.log(event.type)
}
// 拼音输入时
// compositionstart
// compositionupdate
// input
// compositionupdate
// input
// compositionupdate
// input
// compositionupdate
// input
// compositionupdate
// input
// compositionupdate
// input
// compositionend
使用中文输入法时input原生提供compositionstart、compositionupdate、compositionend(注意单纯的html只有使用addEventListener('event', func)才能触发);
在打拼音时:
- 首先触发
compositionstart, - 然后每打一个拼音字母,触发
compositionupdate,同时触发input事件; - 最后将输入好的中文填入input中时触发
compositionend。
在触发compositionend时,就是填入实际内容后(已确认文本),所以这里如果不想触发input事件的话就得设置一个bool变量来控制。