1

如何使用 Javascript 获取 HTML 中选定文本的索引?例如,在 HTML 文件中,有如下段落:

我住在印度。印度是一个非常美丽的国家。

现在,如果用户India在第一句中选择,那么应该有一个alert 5,如果用户选择India第二行,那么应该有一个alert 6

如何获取用户选择的单词的索引?

4

2 回答 2

3

您可以使用我的Rangy 库的新TextRange 模块来做到这一点。Rangy 的 Range 对象具有和方法,允许您在任一方向上一次扩展一个单词的范围。moveStart()moveEnd()

这是一个演示:http: //jsfiddle.net/timdown/ArMHy/

代码:

var sel = rangy.getSelection();
if (sel.rangeCount > 0) {
    var range = sel.getRangeAt(0);

    // Expand the range to contain the whole word
    range.expand("word");

    // Count all the preceding words in the document
    var precedingWordCount = 0;
    while (range.moveStart("word", -1)) {
        precedingWordCount++;
    }

    // Display results
    alert("Selection starts in word number " + (precedingWordCount + 1));        
}
于 2012-06-17T23:59:56.933 回答
0

如果要通过索引查找字符串,可以使用-

string.match(regularExpression)[index]

参数值-

正则表达式= 必需。要搜索的值,作为正则表达式。

index = 正则表达式的索引。

现在您可以将其视为一个对象并为其分配事件处理程序。

于 2012-06-17T19:42:50.643 回答