EditContext

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The EditContext interface represents the text edit context of an element that was made editable by using the EditContext API.

The EditContext API can be used to build rich text editors on the web that support advanced text input experiences, such as Input Method Editor (IME) composition, emoji picker, or any other platform-specific editing-related UI surfaces.

Constructor

EditContext() Experimental

Returns a new EditContext instance.

Instance properties

EditContext.text Read only Experimental

The editable content of the element.

EditContext.selectionStart Read only Experimental

The offset, within the editable text content, of the start of the current selection.

EditContext.selectionEnd Read only Experimental

The offset, within the editable text content, of the end of the current selection.

EditContext.characterBoundsRangeStart Read only Experimental

The offset, within the editable text content, where the last IME composition started.

Instance methods

EditContext is based on the EventTarget interface, and includes its methods.

EditContext.attachedElements() Experimental

An Array containing one HTMLElement object which is the element that's associated with the EditContext object.

EditContext.characterBounds() Experimental

The list of bounding rectangles for the characters in the EditContext object.

EditContext.updateText() Experimental

Updates the internal text content of the EditContext object.

EditContext.updateSelection() Experimental

Updates the internal state of the selection within the editable text context.

EditContext.updateControlBounds() Experimental

Informs the operating system about the position and size of the editable text region.

EditContext.updateSelectionBounds() Experimental

Informs the operating system about the position and size of the selection within the editable text region.

EditContext.updateCharacterBounds() Experimental

Informs the operating system about the position and size of the characters in the EditContext object.

Events

textupdate Experimental

Fired when the user has made changes to the text or selection.

textformatupdate Experimental

Fired when composition using an Input Method Editor (IME) window is happening and the IME decides that certain parts of the text being composed should be formatted differently to indicate the composition state.

characterboundsupdate Experimental

Fired when the operating system needs to know the size and position of certain characters within the editable text region of the EditContext object, in order to display an IME window.

compositionstart Experimental

Fired when composition using an IME window is starting.

compositionend Experimental

Fired when composition using an IME window is ending.

Specifications

Specification
EditContext API
# dom-editcontext

Browser compatibility

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
EditContext
Experimental
EditContext() constructor
Experimental
attachedElements
Experimental
characterBounds
Experimental
characterBoundsRangeStart
Experimental
characterboundsupdate event
Experimental
compositionend event
Experimental
compositionstart event
Experimental
selectionEnd
Experimental
selectionStart
Experimental
text
Experimental
textformatupdate event
Experimental
textupdate event
Experimental
updateCharacterBounds
Experimental
updateControlBounds
Experimental
updateSelection
Experimental
updateSelectionBounds
Experimental
updateText
Experimental

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
Experimental. Expect behavior to change in the future.
See implementation notes.