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

时间:2018-04-17 21:12:13

标签: javascript

我使用此代码How can I position an element next to user text selection?来获取所选文本的位置,但它不适用于输入中的选定文本。有时候这个职位是0。

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

我想在mouseup上显示工具提示或者点击所选文本。

3 个答案:

答案 0 :(得分:4)

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

var selection = window.getSelection();
var getRange = selection.getRangeAt(0); 
getRect = getRange.getBoundingClientRect();

答案 1 :(得分: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)

答案 2 :(得分:1)

如果您只需要获取用户双击的位置,请使用以下代码段。

$('#thatInput').on('dblclick', function (e) {
  alert('Position X: ' + e.clientX + '\nPosition Y: ' + e.clientY);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input id="thatInput">