javascript - 有没有办法获得选择/范围的宽度?

标签 javascript html dom selection

<分区>

您可以使用 getSelection() 获取当前的 Selection,使用 getRangeAt(0) 获取其 Range。里面有一堆信息:起始节点、结束节点、字符、位置等。

没有的是选区的维度。

我能做的(我想,我还没有尝试过,因为它很复杂),是获取选定的文本,将其放入包含元素,使元素内联并测量其宽度(然后撤消所有操作以不要弄乱 DOM)。也许吧。

但必须有更简单的方法。

它不必处理多个元素的选择,但它应该处理多行。

也许有一个技巧可以制作屏幕截图并按颜色测量像素?

最佳答案

您是在谈论页面上的元素选择吗?

您可以枚举您选择的元素,获取每个元素的左、右、上、下边框。

然后,求出最大的右边界和下边界和最小的左边界和下边界,并求出差值。

关于javascript - 有没有办法获得选择/范围的宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16590804/

相关文章:

javascript - React Router如何处理url变化而不引起浏览器请求

python - WTForms-用字符串值预填充文本区域字段?

jQuery addClass() 不起作用

javascript - 用于 DOM 修改的高效 Javascript

Javascript,一个带有回调处理程序的对象,如何将其重写为await/async风格?

javascript - Webpack 导出的变量在浏览器中不可见

javascript - 从条形码扫描时向文本区域值添加逗号

javascript - 在页面上的 div 中显示来自图像文件的随机图像

html - 如何让这个div居中对齐?

java - Android 远程 XML 解析(文档生成器)