Selection

See http://devdocs.io/dom/selection

var selection = document.getSelection()

Methods

selection
  .removeAllRanges()   // deselects
  .addRange(range)     // sets a selection
  .removeRange(range)  // remove a range
selection
  .rangeCount          // ranges
  .getRangeAt(0)       // get the 0th range

Collapsing

selection
  .collapse(parent, offset)
  .collapseToEnd()
  .collapseToStart()
  .isCollapsed
selection
  .containsNode(node)

Deleting

selection
  .deleteFromDocument()

Events

document.addEventListener('selectionchange', () => {})