JavaScript-从文本中选择单词

JavaScript - select word from text

本文关键字:选择 单词 文本 JavaScript-      更新时间:2023-09-26

我正试图从div中的文本中选择一个单词。我想点击一个文本,并在鼠标指针下放一个单词到一个变量,以便进一步处理。

function get_selection() {
 var txt = '';
 if (window.getSelection) {
     txt = window.getSelection();
 } else if (document.getSelection) {
     txt = document.getSelection();
 } else if (document.selection) {
     txt = document.selection.createRange().text;
 }
 console.log(txt);
}
document.getElementById("txt").onclick = get_selection;

我在控制台中得到的是整个段落:

Selection { anchorNode: #text ""My text is long and wise and it consumes a lot of interwebs."", anchorOffset: 18, focusNode: #text ""My text is long and strong and it consumes a lot of interwebs."", focusOffset: 18, isCollapsed: true, rangeCount: 1, caretBidiLevel: 0 }

与点击的单词相反。

请告知。我不想使用jQuery。

您忘记将.toString应用于txt:

function get_selection() {
 var txt = '';
 if (window.getSelection) {
     txt = window.getSelection().toString();
 } else if (document.selection) {
     txt = document.selection.createRange().text;
 }
 document.getElementById("out").innerHTML = txt;
}
document.getElementById("txt").onclick = get_selection;
<div id="txt">"My text is long and wise and it consumes a lot of interwebs."</div>
<div id="out"></div>

您需要将toString添加到getSelection:

console.log(txt.toString());

Js文件:https://jsfiddle.net/h8u1a6ha/