如何使用Javascript在HTML中获取所选文本的索引? 例如,在HTML文件中,有如下段落:
我住在印度。印度是一个非常美丽的国家。
现在,如果用户在第一句中选择India
,则应该有alert 5
,如果用户选择第二行的India
,则会有alert 6
。
如何获取用户选择的单词的索引?
答案 0 :(得分:3)
您可以使用TextRange module的新Rangy library执行此操作。 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));
}
答案 1 :(得分:0)
如果要按索引查找字符串,可以使用 -
string.match(regularExpression)[index]
参数值 -
regularExpression =必填。要搜索的值,作为正则表达式。
index = regularExpression的索引。
现在您可以将其视为一个对象并为其分配事件处理程序。