Please note, this is a STATIC archive of website developer.mozilla.org from November 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

compositionstart

当浏览器有非直接的文字输入时,  compositionstart 事件会以同步模式触发.通常情况是由于用户使用一个输入法来输入文字.该事件实现的接口为CompositionEvent.

注意: 该事件应该发生在使用输入法输入文字之前, 但是在Gecko上, 不是这样的;Gecko会在输入法开始输入文字时,马上触发该事件.
  • <dfn style="display:table-cell;padding: 0 5px;border-bottom: none;cursor:inherit;">实现接口:</dfn>CompositionEvent
  • <dfn style="display:table-cell;padding: 0 5px;border-bottom: none;cursor:inherit;">是否同步模式:</dfn>同步模式
  • <dfn style="display:table-cell;padding: 0 5px;border-bottom: none;cursor:inherit;">是否冒泡:</dfn> 是
  • <dfn style="display:table-cell;padding: 0 5px;border-bottom: none;cursor:inherit;">Target属性:</dfn> Element
  • <dfn style="display:table-cell;padding: 0 5px;border-bottom: none;cursor:inherit;">默认动作是否可以被取消:</dfn> 是 (查看浏览器具体实现情况)
  • <dfn style="display:table-cell;padding: 0 5px;border-bottom: none;cursor:inherit;">默认动作 :</dfn> 无

规范

DOM Level3 Events

浏览器兼容性

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support

(Yes) 事件对象的data属性值不正确

9.0 (9.0)

(Yes) 事件对象的data属性值总为空

Not supported

(Yes) 事件对象的data属性值不正确

Feature Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support ? 9.0 (9.0) ? ? ?

Gecko 注意事项

根据 DOM Level3 规定, compositionstart 事件的默认动作是可以被取消的; 可是, 在目前,Gecko还不让用户取消它.这是由于:

当用户启动输入法开始输入时,compositionstart 事件被触发.一些操作系统没有提供相关API来取消这个默认动作.此外, Gecko不知道一个键盘事件是否会启动输入法来输入字符,直到它真正的开始输入以后. 因此, 在Gecko上,event.preventDefault()compositionstart 事件中不可用 .

文档标签和贡献者

 此页面的贡献者: ziyunfei
 最后编辑者: ziyunfei,