获取相对于可信任div的选择的x,y位置

时间:2013-05-13 14:44:14

标签: javascript jquery jquery-plugins contenteditable

我有一个令人满意的div,我需要获得当前选择(即插入符号)像素的x和y位置。我现在拥有的是一种获取相对于窗口的选择的方法,即window.getSelection()。我发现的是相对于div节点返回偏移位置的方法。

您对此有什么想法,或者有插件吗?我找到了相对于文本区域返回光标位置的插件,但遗憾的是没有内容可编辑div。

以下是我现在的代码:

function getSelectionCoords() {
    var sel = document.selection, range;
    var x = 0, y = 0;
    if (sel) {
        if (sel.type != "Control") {
            range = sel.createRange();

            range.collapse(true);
            x = range.boundingLeft;
            y = range.boundingTop;
        }
    } else if (window.getSelection) {
        sel = window.getSelection();
        if (sel.rangeCount) {
        range = sel.getRangeAt(0).cloneRange();

        if (range.getClientRects()) {
            range.collapse(true);
            var rect = range.getClientRects()[0];

            x = rect.left;
            y = rect.top;
        }
      }
    }
    return { x: x, y: y };
 }

感谢您的帮助。

0 个答案:

没有答案