是否有一种方法来获得宽度的选择/范围

Is there a way to get the width of a Selection/Range?

本文关键字:选择 范围 方法 一种 是否      更新时间:2023-09-26

getSelection()可以得到当前的Selection,用getRangeAt(0)可以得到当前的Range。这里有一堆信息:开始节点,结束节点,字符,位置等。

里面没有的是选择的尺寸

我能做的(我想,我没有尝试过,因为它很复杂),是得到选定的文本,把它放入包含元素,使元素内联和测量其宽度(然后撤消所有这一切,不搞乱DOM)。也许。

但是一定有更简单的方法。

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

也许有一个技巧,使截图和测量像素的颜色?

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

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

然后,找出最大的右边框和最小的左边框和最小的下边框,并找出差值