在draftjs中获取光标的左上方位置



如何在Draft.js中获取光标位置(左上角(值。我已经看过这个问题,但它只给出了行号,但我想要左上角的值。

这符合我的需求(注意:没有在多平台/多浏览器上测试,但至少它在Windows上的Chrome/Firefox上运行得很好(。这个想法是将插入符号视为一个窗口选择,而不是draftjs选择。希望能有所帮助。

function FindCaretPosition() {
let selection = window.getSelection();
let selectionRange = selection.getRangeAt(0).cloneRange();
selectionRange.collapse(false);
//-----
let caretMarker = document.createElement("span");
caretMarker.id = "__caret";
selectionRange.insertNode(caretMarker);
let caretPosition = document.querySelector("#__caret").getBoundingClientRect();
//-----
selectionRange.deleteContents();
return { x: caretPosition.left, y: caretPosition.bottom }
}

editorState.getSelection().getAnchorOffset();

你可以像一样得到光标的位置

最新更新