获取所选文本javascript的边界矩形

And*_*unt 6 javascript

我使用此代码如何在用户文本选择旁边定位元素?获取所选文本的位置,但它不适用于输入中的选定文本.有时位置为0.

是否有一些检测所选文本位置的通用方法?

我想在mouseup上显示工具提示或dblclick选定的文本.

Mah*_*pal 9

您可以使用以下代码获取所选文本的位置:

var selection = window.getSelection();
var getRange = selection.getRangeAt(0); 
getRect = getRange.getBoundingClientRect();
Run Code Online (Sandbox Code Playgroud)

  • “值得注意的是,目前 getSelection() 不适用于 Firefox、Edge(旧版)和 Internet Explorer 中的 <textarea> 和 <input> 元素的内容” - MDN (4认同)

DrE*_*est 1

您可以使用getSelection api。选择文本后,在控制台中运行以下代码。

var selection = window.getSelection()
var baseOffset = selection.baseOffset
var length = selection.focusOffset -selection.baseOffset
var text = selection.focusNode.data.splice(baseOffset, length)
Run Code Online (Sandbox Code Playgroud)