Javascript高级编程学习笔记(65)—— 事件(9)复合事件

复合事件

复合事件是 DOM3 中新增的一类事件,用于处理 IME 的输入序列

IME(输入法编辑器)通常用于输入物理键盘上找不到的字符,而这种输入方式通常需要同时按住多个键,但最终只输入一个字符

 

复合事件就是针对检测和处理这种输入而设计的

复合事件有以下三种:

  1. compositionstart:在IME的文本复合系统打开时触发
  2. compositionupdate:向输入字段中插入新字符时触发
  3. compositionend:在IME的文本复合系统关闭时触发,表示返回键盘的正常输入状态

 

在大体上复合事件与文本事件在很多方面相似

在其触发时,目标是接收文本的输入字段,但它比文本事件对象多一个data属性

data属性的值,为以下值中的一个:

  • 在触发 compositionstart 时,值为正在编辑的文本
  • 在触发 compositionupdate 时,值为正在插入的文本
  • 在触发 compositionend 时,值为此次操作已经插入的字符
  • 否则为空字符串

复合事件可冒泡

详见MDN

 

对于是否支持复合事件,可以使用以下代码检测:

var isSupported = document.implementation.hasFeature("CompositionEvent","3.0");

 

posted @ 2019-02-16 11:07  巽秋  阅读(450)  评论(0编辑  收藏  举报