html 获取光标位置
时间: 2023-09-11 15:05:51 浏览: 114
通过API获取光标所在位置
可以通过 JavaScript 中的 Selection 对象获取光标位置。以下是一个示例代码:
```javascript
function getCursorPosition(element) {
let cursorOffset = 0;
const doc = element.ownerDocument || element.document;
const win = doc.defaultView || doc.parentWindow;
let sel;
if (typeof win.getSelection !== "undefined") {
sel = win.getSelection();
if (sel.rangeCount > 0) {
const range = win.getSelection().getRangeAt(0);
const preCaretRange = range.cloneRange();
preCaretRange.selectNodeContents(element);
preCaretRange.setEnd(range.endContainer, range.endOffset);
cursorOffset = preCaretRange.toString().length;
}
} else if ((sel = doc.selection) && sel.type !== "Control") {
const textRange = sel.createRange();
const preCaretTextRange = doc.body.createTextRange();
preCaretTextRange.moveToElementText(element);
preCaretTextRange.setEndPoint("EndToEnd", textRange);
cursorOffset = preCaretTextRange.text.length;
}
return cursorOffset;
}
```
在这个函数中,传递一个 HTML 元素作为参数,它将返回该元素中的光标位置。
阅读全文