mozilla
Your Search Results

    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 でこの問題は修正されます。

    参照

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

    Contributors to this page: Masayuki, fscholz
    最終更新者: Masayuki,