2010-02-02 132 views

回答

1

没有好的通用功能来做到这一点。如果您指定了要添加的浏览器,则可能会有特定的解决方法。在过去遇到这个问题时,我不得不求助于用户双击单词(然后您可以检测到双击,获得选择并将其重置)。

1

一种选择是,每一个字把自己的<span>元素中,添加一个mouseover处理程序,检查事件的target/srcElement属性检索的跨度,因此字体。这具有明显的缺点:用跨度围绕每个单词的初始过程可能很慢;新的跨度可能会混淆现有的CSS规则;该文档最终会带有大量没有语义价值的元素。

+0

这是有效的,但是当你编写一个浏览器插件时,如果问题显示,它应该可以在任意页面上工作,插入一堆对原始页面没有意义的标签,并且可能会破坏它,现在不是要走的路。 – 2010-02-02 12:40:09

+0

是的,正如我的回答指出的那样。我将其描述为一种选择,而不是一项建议。 – 2010-02-02 12:45:00

0

我的猜测是你不能完成这件事,除非每个单词都在它自己的容器中,比如etc,并且你已经为此声明了一个onmouseover处理程序。当用户双击或鼠标在浏览器上选择一段文本时,更简单的方法是使用currentSelection元素。您可以为此点击鼠标点击/双击事件。