一 定义
合成事件是 DOM3 Events 中新增的,用于处理通常使用 IME 输入时的复杂输入序列。IME 可以让 用户输入物理键盘上没有的字符。例如,使用拉丁字母键盘的用户还可以使用 IME 输入日文。IME 通 常需要同时按下多个键才能输入一个字符。合成事件用于检测和控制这种输入。
二 事件方法
事件 | 作用 | 包含的值 |
在合成事件触发时,事件目标是接收文本的输入字段。唯 一增加的事件属性是 data,其中包含的值视情况而异 | ||
compositionstart | 在 IME 的文本合成系统打开时触发,表示输入即将开始 | 包含正在编辑的文本(例如,已经选择了文本但还没替换) |
compositionupdate | 在新字符插入输入字段时触发 | 包含要插入的新字符 |
compositionend | 在 IME 的文本合成系统关闭时触发,表示恢复正常键盘输入 | 包含本次合成过程中输入的全部内容 |
let textbox = document.getElementById("myText");
textbox.addEventListener("compositionstart", (event) => {
console.log(event.data);
});
textbox.addEventListener("compositionupdate", (event) => {
console.log(event.data);
});
textbox.addEventListener("compositionend", (event) => {
console.log(event.data);
});