Browse Source

Fix and refactor `getCaretPosition` (#1782)

pull/1783/head
David 3 years ago committed by GitHub
parent
commit
6e05c5cd7d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 19
      webroot/js/utils/chat.js

19
webroot/js/utils/chat.js

@ -6,16 +6,21 @@ import { @@ -6,16 +6,21 @@ import {
// Taken from https://stackoverflow.com/a/46902361
export function getCaretPosition(node) {
var range = window.getSelection().getRangeAt(0),
preCaretRange = range.cloneRange(),
caretPosition,
tmp = document.createElement('div');
const selection = window.getSelection();
if (selection.rangeCount === 0) {
return 0;
}
const range = selection.getRangeAt(0);
const preCaretRange = range.cloneRange();
const tempElement = document.createElement('div');
preCaretRange.selectNodeContents(node);
preCaretRange.setEnd(range.endContainer, range.endOffset);
tmp.appendChild(preCaretRange.cloneContents());
caretPosition = tmp.innerHTML.length;
return caretPosition;
tempElement.appendChild(preCaretRange.cloneContents());
return tempElement.innerHTML.length;
}
// Might not need this anymore

Loading…
Cancel
Save