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

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

Syntax

value = sel.type

Value

A DOMString 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.

Example

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();
  console.log(selection.type);
};

Specifications

Specification Status Comment
Selection API
The definition of 'Selection.type' in that specification.
Working Draft Current

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidiOS SafariSamsung Internet
Basic support
Experimental
Chrome Full support YesEdge Full support YesFirefox Full support 57IE Full support YesOpera Full support YesSafari ? WebView Android Full support YesChrome Android Full support YesEdge Mobile Full support YesFirefox Android Full support 57Opera Android Full support YesSafari iOS ? Samsung Internet Android ?

Legend

Full support  
Full support
Compatibility unknown  
Compatibility unknown
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.

See also

Document Tags and Contributors

Contributors to this page: ExE-Boss, ddbeck, chrisdavidmills
Last updated by: ExE-Boss,