获取用户选择的起点和终点

时间:2011-09-14 23:21:13

标签: javascript

我正在尝试获取用户选择的起点和终点。这是我拥有的DIV的内容

abc def ghi jkl mno pqr stuv wxyz

当我选择pqr时,起点变为1,结束点变为4,这是错误的

当我选择整个事物时,起点变为0而终点变为33,这是正确的

我有以下代码:

    sel = window.getSelection();
    le = sel.toString().length;

    if (sel.getRangeAt && sel.rangeCount)
    {
        range = window.getSelection().getRangeAt(0);
        sp = range.startOffset;
        ep = sp + le;               
    }

1 个答案:

答案 0 :(得分:3)

Rangy 来救援!使用此API可以获得有关用户选择的所有信息 它支持浏览器:

  1. Internet Explorer 6 及更高版本(:D)
  2. Firefox 2.0 及更高版本
  3. Google Chrome 5.0 及更高版本
  4. Safari 3.2 及更高版本
  5. Opera 9.6 及更高版本
  6. 使用它

    Read the documentation你自己,或者只是使用下面的内容 非常简单(在您的情况下)

    var selection = rangy.getSelection(),  //Whole lot of information, supports
                                           //multi-selections
        start=selection.anchorOffset,      //Start position
        end=selection.focusOffset;         //End position
    

    希望它可以帮助你。

    演示

    您可以找到demos on its home page 以下是一些可能帮助您并且可能会找到有趣的

    • Demo 1 - 核心,主要内容
    • Demo 4 - 更改所选范围的CSS
    • Demo 3 - 序列化选择