HTMLTextAreaElement: selectionStart property

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

The selectionStart property of the HTMLTextAreaElement interface specifies the start position of the current text selection in a <textarea> element. It is a number representing the beginning index of the selected text. It can be used to both retrieve and set the start of the index of the beginning of a <textarea>s selected text.

When nothing is selected, the value of both the selectionStart and selectionEnd is the position of the cursor (caret) inside the <textarea> element.

Setting selectionStart to a value greater then the current value of selectionEnd updates both the selectionStart and selectionEnd properties to that value. If that value is equal to or greater than the textLength, both properties are both set to the textLength property value.

The property value can be retrieved and set without the <textarea> having focus, but the element does need to have focus for the ::selection pseudo-element to match the selected text.

Setting the selectionStart to a new value fires the selectchange and selectevents.

Value

A non-negative number.

Examples

js
const textarea = document.getElementById("text-box");
const start = textarea.selectionStart;

Specifications

Specification
HTML
# dom-textarea/input-selectionstart

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
selectionStart

Legend

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

Full support
Full support

See also