我一直在尝试获取部分高亮显示文本的完整单词。
,我想渲染完整的单词。 在这种情况下,我希望获得整个词,例如
ipsum dolor sit
在我的示例标记中。
以下是代码
function getText() {
var text = "";
var activeEl = document.activeElement;
var activeElTagName = activeEl ? activeEl.tagName.toLowerCase() : null;
if (
(activeElTagName == "textarea") || (activeElTagName == "input" &&
/^(?:text|search|password|tel|url)$/i.test(activeEl.type)) &&
(typeof activeEl.selectionStart == "number")
) {
text = activeEl.value.slice(activeEl.selectionStart, activeEl.selectionEnd);
console.log(activeEl.selectionStart)
console.log(activeEl.selectionEnd)
sentence_array = activeEl.value.split(" ")
marked_text = text.split(" ")
console.log(activeEl.value.split(" "))
console.log(text.split(" "))
} else if (window.getSelection) {
text = window.getSelection().toString();
console.log(text)
}
return text;
}
document.onmouseup = document.onkeyup = document.onselectionchange = function() {
document.getElementById("example").value = getText();
};
Attempt:
<br>
<textarea id="example" rows="1" cols="15"></textarea>
<p>Please select some text.</p>
<input value="Lorem ipsum dolor sit amet">
<br>