使用Javascript对所选单词进行索引

使用Javascript对所选单词进行索引,javascript,html,selection,Javascript,Html,Selection,如何使用Javascript获取HTML中选定文本的索引? 例如,在HTML文件中,有如下段落: 我住在印度。印度是一个非常美丽的国家 现在,如果用户在第一句中选择了India,则应出现alert 5,如果用户选择第二行的India,则出现alert 6 如何获取用户所选单词的索引?如果要通过索引查找字符串,可以使用- string.match(regularExpression)[index] 参数值- 正则表达式=必需。要搜索的值,作为正则表达式 索引=正则表达式的索引 现在你可以把它看作

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

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

现在,如果用户在第一句中选择了
India
,则应出现
alert 5
,如果用户选择第二行的
India
,则出现
alert 6


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

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

string.match(regularExpression)[index]
参数值-

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

索引=正则表达式的索引

现在你可以把它看作一个对象,并将事件句柄分配给它。< /P>


你可以用我的新手机来做这件事。Rangy的Range对象具有
moveStart()
moveEnd()
方法,允许您在任意方向上一次扩展一个单词的范围

下面是一个演示:

代码:


您能提供您编写的但不起作用的示例代码吗?这样我们也可以更容易地帮助你,在你选择的词之前数数单词并不难,一旦你得到了所选的内容,我敢肯定这是不可能的。当然不容易。这是可能的!即使这个问题没有给你答案,它也会有帮助:@gdoron:这是可以做到的。hi tim down在我的iphone项目中使用此代码需要什么库
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));        
}