2010-04-18 49 views
2

我有一个div元素包含一些文本。当用户点击该div内的单词时,我想突出显示该单词。在HTML元素的点击位置获取文本

为了做到这一点,我需要知道在发生点击的文本什么字符位置,所以后来我可以找到附近的空白,并插入字周围的一些格式。

找出文本内发生点击的位置是这里的诀窍。这种事情可能吗?

回答

2

如果你的页面是自动生成的,你可以通过把一个<span class = 'word'>周围的每一个字每一个可选择的DIV考虑预先处理页面。事实上,你也许可以用javascript来做到这一点,我认为这将是你的解决方案,不过,预处理将使它更容易。

与依靠字的绝对位置的问题是,用户可以扩展自己的字体,这使得这个任务特别困难。通过在每个单词上包围一个范围,可以通过将点击事件应用到span元素来轻松选择单词。

+0

这应该完美。我会把每个字的服务器端包装成这样: ... 感谢您的快速回答。 – Marc 2010-04-18 23:17:14