【发布时间】:2019-01-03 07:09:45
【问题描述】:
我想要做的是仅从 contenteditable 输入中选择我想要的单词。例如,
你好,我的世界
从上面的输入值中,我想只选择单词'My'并获取它的字符串值。
到目前为止,我已经编写了一个函数,该函数可以从 0 范围内获取到插入符号的选择,如下所示:
function selectUptoCaret(el){
var range = window.getSelection().getRangeAt(0);
var preCaretRange = range.cloneRange();
preCaretRange.selectNodeContents(el);
preCaretRange.setEnd(range.endContainer, range.endOffset);
var sel = window.getSelection()
sel.removeAllRanges()
sel.addRange(preCaretRange)
}
当我从单词“My”中单击“y”时,它会选择“Hello My”。 但同样,我只想选择“我的”,而不是“你好我的”。
【问题讨论】:
标签: javascript range selection contenteditable caret