鼠标悬停在事件上时检索字符位置

时间:2010-09-18 19:56:54

标签: javascript

我正在寻找一种方法来在将鼠标指针移动到包含文本的div上时检索字符位置。

所以基本上,如果这是文本:

  

快速的棕色狐狸跳过懒狗

我将鼠标移到第一个'b'('褐色')上,然后我基本上希望能够在鼠标悬停事件中返回'b'的位置。 (在这种情况下,我需要得到值10,假设从位置0开始。)

(哦,如果有帮助的话,我可以使用等宽字体的解决方案。我并不太关心角色在给定位置的'价值'。就像,当我移动时价值超过'q',然后我不在乎知道它是否真的是'q',但我想知道鼠标指针当前正在移动到第5个字符上。)

2 个答案:

答案 0 :(得分:2)

这真的很难看,但你可以使用

<span onmouseover="setPosition(...)"></span> 

围绕<div>中的每个字符,并使用setPosition()的合适JavaScript实现。

答案 1 :(得分:0)

这是一个有趣的问题。但这很困难,因为你可能有不可见的角色(想想格式化,比如

 <b> some text </b> more text

例如,文件中已有7个字符的偏移量。

我认为解决方案最简单的方法是使用仅适用于div中显示的字符的Javascript方法。也许一个精心制作的正则表达式可以做到这一点。

编辑:不,不要使用正则表达式来做到这一点。这是dangerous for your sanity