get-selection-range-from-elm
Version:
window.getSelection().rangeAt(0) but only if it exists & is within an element
15 lines (11 loc) • 325 B
JavaScript
module.exports = function (elm) {
var selection = window.getSelection();
if (selection.rangeCount === 0) {
return null;
}
var range = selection.getRangeAt(0);
var start = range.startContainer;
var end = range.endContainer;
return elm.contains(start) && elm.contains(end) ? range : null;
};
;