使用window.getSelection()
我希望在n
位置选择一个单词,还可以在n-1
和n+1
位置选择单词。
例如:
this is a sentence
突出显示:is
字n-1:this
字n + 1:a
我理解如何使用正则表达式执行此操作,但如何使用window.getSelection()
执行此类操作?
答案 0 :(得分:1)
你知道HTML页面的结构吗?你控制它吗? 如果没有,这可能很困难。
如果选择位于页面上的一个元素中,则可以借助所选范围对象完成此操作:
var range = window.getSelection()。getRangeAt(0);
它具有包含起始位置,结束位置和所选元素的文本的属性。
然后你可以在选择位置之前和之后按空格分隔文本,并在所选单词之前和之后得到单词。
var allWordsBefore = range.startContainer.wholeText.substr(0, range.startOffset).trim().split(' ');
var prevWord = allWordsBefore[allWordsBefore.length-1];
同样,你可以在选择后得到这个词。