谷歌浏览器中可以这么做吗
时间: 2023-12-06 07:04:29 浏览: 75
在 Google Chrome 中获取光标在 textarea 中的 xy 坐标也是可以实现的,不过具体实现方式可能会有所不同。以下是一种可能的实现方式:
```javascript
function getCaretCoordinates() {
var x = 0, y = 0;
if (typeof textarea.selectionStart == "number") {
var range = textarea.selectionRange;
var rect = textarea.getBoundingClientRect();
var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
x = range.startOffset * (rect.width / textarea.value.length) + rect.left;
y = range.startOffset * (rect.width / textarea.value.length) + scrollTop + rect.top;
}
return { x: x, y: y };
}
```
这个函数只判断了 textarea.selectionStart 是否支持,如果支持则获取 textarea 的 selectionRange 和 getBoundingClientRect() 值,计算出光标的 x 和 y 坐标。最后返回一个包含 x 和 y 坐标的对象。
需要注意的是,由于不同浏览器对于 textarea 的渲染方式可能会有所不同,所以实现方式也可能会有所不同。如果以上代码在你的环境中无法正常工作,你可以考虑使用其他方法或者查找其他实现方式。
阅读全文