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