substance
Version:
Substance is a JavaScript library for web-based content editing. It provides building blocks for realizing custom text editors and web-based publishing system. It is developed to power our online editing platform [Substance](http://substance.io).
19 lines (18 loc) • 532 B
JavaScript
export default function setDOMSelection (startNode, startOffset, endNode, endOffset) {
const wsel = window.getSelection()
const wrange = window.document.createRange()
if (startNode._isDOMElement) {
startNode = startNode.getNativeElement()
}
if (!endNode) {
endNode = startNode
endOffset = startOffset
}
if (endNode._isDOMElement) {
endNode = endNode.getNativeElement()
}
wrange.setStart(startNode, startOffset)
wrange.setEnd(endNode, endOffset)
wsel.removeAllRanges()
wsel.addRange(wrange)
}