HTMLInputElement: select event

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 select event of the HTMLInputElement interface fires when the selection's extent or direction is changed programmatically, or when the user selects text.

This event is not fired when nothing is selected and the caret is moved by the user. Only the selectionchange event fires in this case.

Syntax

Use the event name in addEventListener():

js
addEventListener("select", (event) => { })

Alternatively, assign to the event handler property of the interface:

js
onselect = (event) => { }

Event type

A generic Event.

Examples

Selection logger

html
<input value="Try selecting some text in this element." />
<p id="log"></p>
js
function logSelection(event) {
  const log = document.getElementById("log");
  const selection = event.target.value.substring(
    event.target.selectionStart,
    event.target.selectionEnd,
  );
  log.textContent = `You selected: ${selection}`;
}

const input = document.querySelector("input");
input.addEventListener("select", logSelection);

Using the onselect event handler property

You can also set up the event handler using the onselect property (but note that this replaces other event listeners added using onselect, if any):

js
input.onselect = logSelection;

Specifications

Specification
HTML
# event-select
HTML
# handler-onselect

Browser compatibility