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.

CompositionEvent

An event interface for composition events
1.0
36
Introduced
Gecko 9.0
継承元: nsIDOMUIEvent 最終更新: Gecko 9.0 (Firefox 9.0 / Thunderbird 9.0 / SeaMonkey 2.6)

DOM CompositionEvent は間接的なテキストの入力によって発生するイベントです。

メソッド一覧

void initCompositionEvent(in DOMString typeArg,in boolean canBubbleArg, in boolean cancelableArg, in views::AbstractView viewArg, in DOMString dataArg, in DOMString localeArg);

属性

属性 説明
data DOMString

compositionstart イベントでは、現在選択されている文字列です。これが入力されるテキストで置換されることになります。この値は選択範囲を変更しても変わりません。つまり、編集開始時点で選択されていた文字列を示しています。

compositionupdate イベントでは、現在編集中の文字列です。

compositionend イベントでは、エディタに確定される文字列です。

読み込み専用

locale DOMString

現在の入力システムのロケールです。例えば、入力システムが IME であればそれに関連したキーボードレイアウトのロケールになります。読み込み専用

メソッド

initCompositionEvent

composition イベントの属性を初期化します。

void initCompositionEvent(
  in DOMString typeArg,
  in boolean canBubbleArg,
  in boolean cancelableArg,
  in views::AbstractView viewArg,
  in DOMString dataArg,
  in DOMString localeArg
);
引数
typeArg
composition イベントの種類。compositionstartcompositionupdatecompositionend のいずれか。
canBubbleArg
バブルフェーズでも発生するか否か。
cancelableArg
キャンセル可能か否か。
viewArg
?
dataArg
data 属性の値。
localeArg
locale 属性の値

仕様書

ブラウザ間の互換性

機能 Chrome Firefox (Gecko) Internet Explorer Opera Safari
基本的なサポート (有) 9.0 (9.0) (有) 未サポート ?
機能 Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
基本的なサポート ? 9.0 (9.0) ? ? ?

Gecko の動作メモ

compositionstartcompositionend イベントは Gecko 9.0 よりも古いバージョンでも発生しています。ですが、DOM Level 3 の属性やメソッドは持ちません。compositionupdate イベントは Gecko 9.0 で初めて追加されました。 (Firefox 9.0 / Thunderbird 9.0 / SeaMonkey 2.6).

注釈: Gecko は信頼できるイベントでは locale 属性をまだサポートしていません。ですが、Web 開発者は信頼できないイベントを生成する際に、initCompositionEvent() で初期化することはできます。

Gecko のエディタ (例えば、<input type="text"><div contenteditable/>designMode) は compositionstart イベントのバブルフェーズ後に編集を開始します。つまり、Web コンテンツの compositionstart イベントハンドラが呼び出された時にはまだコンテンツは変更されていません。

Gecko のエディタは compositionupdate イベントを処理していません。Web コンテンツの compositionupdate イベントハンドラが呼び出された時にはまだコンテンツは変更されていません。

Web コンテンツの compositionend イベントハンドラが呼び出された時、編集は終了しています。これ以降、内容の変更はありません。もし、Web コンテンツが compositionstartcompositionend イベントの event.stopPropagation() を呼び出すと、そのエディタでは IME の編集操作が妨害され、エディタは編集状態の管理に失敗してしまいます。バグ 697842 でこの問題は修正されます。

参照

ドキュメントのタグと貢献者

 このページの貢献者: fscholz, Masayuki
 最終更新者: Masayuki,