Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当鼠标在上面时,你可以得到一个单词_Javascript_Jquery_Google Chrome_Google Chrome Extension - Fatal编程技术网

Javascript 当鼠标在上面时,你可以得到一个单词

Javascript 当鼠标在上面时,你可以得到一个单词,javascript,jquery,google-chrome,google-chrome-extension,Javascript,Jquery,Google Chrome,Google Chrome Extension,我开发了chrome扩展,当鼠标悬停在任何网页上时,我都需要得到一个单词。 我不想把所有的单词放到特定的容器中,然后通过id来获取它。 例如,如果我有今天的天气非常好,我想把鼠标放在单词“very”上,然后放到我的js中(例如,警报('very'))。我想为您展示一个这个功能。这是非常幼稚和脆弱的,但表明它是有可能与适当的正则表达式。基本上,将鼠标悬停在绿色边框的div上可以查看结果 使用这种方法,每个段落都用正则表达式分割成跨块。当然,正则表达式越强大,结果越好。然后,onmousemove冒

我开发了chrome扩展,当鼠标悬停在任何网页上时,我都需要得到一个单词。 我不想把所有的单词放到特定的容器中,然后通过id来获取它。
例如,如果我有
今天的天气非常好

,我想把鼠标放在单词“very”上,然后放到我的js中(例如,
警报('very')
)。

我想为您展示一个这个功能。这是非常幼稚和脆弱的,但表明它是有可能与适当的正则表达式。基本上,将鼠标悬停在绿色边框的div上可以查看结果

使用这种方法,每个段落都用正则表达式分割成跨块。当然,正则表达式越强大,结果越好。然后,
onmousemove
冒泡,由span触发。阅读span的内容是小菜一碟

这种方法是非常侵入性的,通过修改DOM结构,您可能不想碰它。但它在普通JS中工作。更先进(仍然简单)的方法如下:

  • 不要碰任何段落
  • 观察
    onmousemove
    在鼠标下找到段落
  • 保存
    clientX
    clientY
  • 复制段落,使其透明,并
    位置:绝对
  • 在副本上执行
    spanify()
    操作
  • 用于查找悬停的跨距。使用保存的(3.)
    clientX
    clientY
    按副本位置(左、上)移动
  • 你得到了跨度。你有它的内容
  • 从DOM中删除段落副本

  • 这种技术在普通JS中仍然有效。快乐编码!;)

    我想向您展示此功能的。这是非常幼稚和脆弱的,但表明它是有可能与适当的正则表达式。基本上,将鼠标悬停在绿色边框的div上可以查看结果

    使用这种方法,每个段落都用正则表达式分割成跨块。当然,正则表达式越强大,结果越好。然后,
    onmousemove
    冒泡,由span触发。阅读span的内容是小菜一碟

    这种方法是非常侵入性的,通过修改DOM结构,您可能不想碰它。但它在普通JS中工作。更先进(仍然简单)的方法如下:

  • 不要碰任何段落
  • 观察
    onmousemove
    在鼠标下找到段落
  • 保存
    clientX
    clientY
  • 复制段落,使其透明,并
    位置:绝对
  • 在副本上执行
    spanify()
    操作
  • 用于查找悬停的跨距。使用保存的(3.)
    clientX
    clientY
    按副本位置(左、上)移动
  • 你得到了跨度。你有它的内容
  • 从DOM中删除段落副本

  • 这种技术在普通JS中仍然有效。快乐编码!;)

    可能重复的问题与这里的问题基本相同。不一样,这个问题只涉及javascript,但我使用chromeapi@Ukrainianguy你是说你不想在匹配的文本周围加一个空格?如果是这样的话,你就不走运了,你不能与文本节点的某些部分进行交互。你得用标签把你的话包装起来。唯一的其他解决方案是基于选择的,正如Neal的comment@JuanMendes,不幸的是,我的老板不知道“不能”这个词,特别是当chrome应用程序中有这样的问题时,基本上和这里的问题是一样的,这个问题只涉及javascript,但我使用chromeapi@Ukrainianguy你是说你不想在匹配的文本周围加一个空格?如果是这样的话,你就不走运了,你不能与文本节点的某些部分进行交互。你得用标签把你的话包装起来。唯一的其他解决方案是基于选择的,正如Neal的comment@JuanMendes,不幸的是,我的老板不知道“不能”这个词,特别是当chrome应用程序有这样的机会的时候。非常好!但它确实创造了一系列跨度,我认为这不是OP想要的。这是在纯JS中使用它的唯一方法。谢谢你,@oleq!这是迄今为止最好的解决方案。非常好!但它确实创造了一系列跨度,我认为这不是OP想要的。这是在纯JS中使用它的唯一方法。谢谢你,@oleq!这是迄今为止最好的解决方案。