【问题标题】:get start point and end point of user selection获取用户选择的起点和终点
【发布时间】:2011-09-14 23:21:13
【问题描述】:

我正在尝试获取用户选择的起点和终点。这是我拥有的 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;               
    }

【问题讨论】:

标签: javascript


【解决方案1】:

Rangy 来救援!使用此 api 获取有关用户选择的所有信息。
支持浏览器:

  1. Internet Explorer 6 及更高版本 (:D)
  2. Firefox 2.0 及更高版本
  3. Google Chrome 5.0 及更高版本
  4. Safari 3.2 及更高版本
  5. Opera 9.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 - 序列化选择

【讨论】:

    猜你喜欢
    • 2011-03-04
    • 1970-01-01
    • 1970-01-01
    • 2014-02-21
    • 2015-02-21
    • 2020-09-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多