我使用此代码How can I position an element next to user text selection?来获取所选文本的位置,但它不适用于输入中的选定文本。有时候这个职位是0。
是否有一些检测所选文本位置的通用方法?
我想在mouseup上显示工具提示或者点击所选文本。
答案 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">