This commit is contained in:
Rainer Simon 2020-05-14 10:22:46 +02:00
parent 6ca6d8e969
commit a66df4950c
1 changed files with 14 additions and 8 deletions

View File

@ -49,17 +49,23 @@ export default class SelectionHandler extends EventEmitter {
}
} else {
const selectedRange = trimRange(selection.getRangeAt(0));
const stub = rangeToSelection(selectedRange, this.el);
const spans = this.highlighter.wrapRange(selectedRange);
spans.forEach(span => span.className = 'r6o-selection');
// Make sure the selection is entirely inside this.el
const { commonAncestorContainer } = selectedRange;
this._clearNativeSelection();
if (this.el.contains(commonAncestorContainer)) {
const stub = rangeToSelection(selectedRange, this.el);
this.emit('select', {
selection: stub,
element: selectedRange
});
const spans = this.highlighter.wrapRange(selectedRange);
spans.forEach(span => span.className = 'r6o-selection');
this._clearNativeSelection();
this.emit('select', {
selection: stub,
element: selectedRange
});
}
}
}
}