Javascript获取文本选择位置

时间:2015-12-22 08:19:58

标签: javascript jquery html

我感觉不太符合JS,所以我需要你的帮助来获得解决方案。

我必须从用户那里获取有关其文本选择的日志,并在html页面中进行复制。然后我需要为每个选择获得一个唯一的位置(因为2个选项可以包含相同的文本并且位于不同的位置)。

在我的JS脚本中,我有一个函数,它返回一个对象“range”。我可以使用范围的“startOffset”和“endOffset”来获取选择的第一个和最后一个元素的位置,但是这些偏移仅从节点的开始(例如p或h1)确定。

所以我的问题是:有没有办法从整个html页面的开头获得补偿?

这是我的代码:

function getSelectionRange() {
    var range;
    if (window.getSelection) {
        range = window.getSelection().getRangeAt(0);
    } else if (document.selection && document.selection.type != "Control") {
        range = document.selection.getRangeAt(0);
    }
    return range;
}


$(document).bind('copy', function() {         // detects the copy
    var range = getSelectionRange();
    alert(range.startOffset+" "+range.endOffset);
    // then save in logs
}); 

提前致谢

0 个答案:

没有答案