The type read-only property of the Selection interface returns a string describing the type of the current selection.


A string describing the type of the current selection. Possible values are:

  • None: No selection has currently been made.
  • Caret: The selection is collapsed (i.e. the caret is placed on some text, but no range has been selected).
  • Range: A range has been selected.


In this example, the event handler will fire each time a new selection is made. console.log(selection.type) will return Caret or Range depending on whether the caret is placed at a single point in the text, or a range has been selected.

var selection;

document.onselectionchange = function() {
  console.log('New selection made');
  selection = document.getSelection();


Selection API
# dom-selection-type

Browser compatibility

BCD tables only load in the browser

See also