Javascript 如何通过双击从页面中选择特定单词并将其存储到变量中

Javascript 如何通过双击从页面中选择特定单词并将其存储到变量中,javascript,html,dom,Javascript,Html,Dom,例如: HTML 你好,世界 Javascript function chooseAWordFromPage(e){ const words = e.target.innerText //I get stuck here. Please help me } document.body.addEventListener('dblclick',chooseAWordFromPage) 我试图通过双击brower页面上的这个单词来获取元素中的一个单词。例如:“你好,世界”。如何通过单击

例如:

HTML


你好,世界
Javascript

function chooseAWordFromPage(e){
  const words = e.target.innerText
  //I get stuck here. Please help me
}

document.body.addEventListener('dblclick',chooseAWordFromPage)

我试图通过双击brower页面上的这个单词来获取元素中的一个单词。例如:“你好,世界”。如何通过单击页面并将其分配给变量来获取“Hello”

不允许使用任何库,例如jQuery。尝试(运行代码段后双击“Hello World”)

功能选择从页面(e)开始{
常量w=''+window.getSelection();
控制台日志(w);
}
document.body.addEventListener('dblclick',chooseAWordFromPage)

你好,世界

这听起来像是一个XY问题(你问的是如何实现你的解决方案,而不是解释你的问题)。如果你想得到被双击的单词,你不应该使用innerText;innerText只提供全文,无法确定单击了该文本的哪一部分

当您双击页面上的某个单词时,它通常处于选中状态,因此您真正想做的是获取页面上的选定文本,而不是尝试从单击的元素中解析它:

function chooseAWordFromPage(){
    const word = window.getSelection().toString();
}

document.body.addEventListener('dblclick',chooseAWordFromPage)

除非每个单词都被
标记包围,否则无法将单词分离成离散的DOM节点。Kamil的
words.split(“”)
解决方案可以让您开始,但是除了
单击事件之外,没有什么可以附加到它。

我不确定我是否理解这个问题。您的代码将在元素中获取全文;你想从中分离出什么?我试图通过双击brower页面上的这个单词,在元素中找到一个单词。例如:“你好,世界”。如何通过单击页面并将其分配给变量来获取“Hello”呢?我试图通过单击页面上的单词来获取单词,而单击的单词存储在一个变量中。