Your Search Results


    The compositionstart event is fired when the composition of a passage of text is prepared (similar to keydown for a keyboard input, but fires with special characters that require a sequence of keys and other inputs such as speech recognition or word suggestion on mobile).

    General info

    DOM L3
    Default Action
    Start a new composition session when a text composition system is enabled.


    Property Type Description
    target Read only EventTarget Focused element processing the composition.
    type Read only DOMString The type of event.
    bubbles Read only boolean Does the event normally bubble?
    cancelable Read only boolean Is it possible to cancel the event?
    view Read only WindowProxy document.defaultView (window of the document)
    detail Read only long (float) 0.
    data DOMString (string) The original string being edited, otherwise the empty string. Read only.
    locale DOMString (string) The language code for the composition event, if available; otherwise, the empty string. Read only.

    Browser compatibility

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


    The data attribute value is wrong.

    9.0 (9.0)


    The data value is always empty.

    Not supported


    The data attribute value is wrong.

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

    Gecko notes

    The events was fired in versions of Gecko before 9.0, but didn't have the DOM Level 3 attributes and methods.

    Note: Gecko doesn't support the locale attribute for trusted events yet.  However, web developers can set this value via initCompositionEvent() when creating untrusted events.

    According to the DOM Level3 specification, compositionstart is cancelable; however, Gecko doesn't currently let you cancel them.

    Gecko fires this event when IME starts composition, and some platforms don't have an API for canceling composition once it's begun. In addition, Gecko can't know whether a keyboard event will start composition or not until IME actually starts composition. Because of this, event.preventDefault() doesn't work on compositionstart events in Gecko.

    Gecko's editors (for example, <input type="text">, <div contenteditable/>, and designMode) start composition after the bubble phase of compositionstart. So, by the time your compositionstart handler is called, no contents have not been modified.

    Document Tags and Contributors

    Contributors to this page: Sheppy, teoli, louisremi, ethertank, SaschaNaz
    Last updated by: SaschaNaz,