var range = window.getSelection().getRangeAt(0);
var preCaretRange = range.cloneRange();
// console.log(range.startOffset);
const startOffset = range.startOffset;
preCaretRange.setStart(range.startContainer, startOffset);
preCaretRange.setEnd(range.endContainer, startOffset + 1);
const caretOffset = preCaretRange.toString();
console.log(caretOffset);
Last active
March 8, 2019 08:24
-
-
Save lirongfei123/4f4debb067bc81419b83af5a74551996 to your computer and use it in GitHub Desktop.
选区操作 #js
var range = window.getSelection().getRangeAt(0);
var preCaretRange = range.cloneRange();
// console.log(range.startOffset);
const start = range.startOffset;
let authorTextElem = range.endContainer;
preCaretRange.setStart(range.startContainer, 0);
preCaretRange.setEnd(range.endContainer, preCaretRange.endOffset);
let text = preCaretRange.toString();
while (authorTextElem.previousSibling && authorTextElem.previousSibling.nodeType === 3 && text.indexOf('@') === -1) {
authorTextElem = authorTextElem.previousSibling;
text = authorTextElem.nodeValue + text;
}
console.log(text);
const selection = document.getSelection();
const oRange = selection.getRangeAt(0); //get the text range
const oRect = oRange.getBoundingClientRect();
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment