Javascript 有没有办法在文本中获得imagemap样式的行为?

Javascript 有没有办法在文本中获得imagemap样式的行为?,javascript,html,Javascript,Html,还记得图像地图吗?他们在90年代到处都是。网页上会有一个图像,当你点击它时,它不仅可以根据图像,还可以根据你点击的确切像素来采取一些行动 现在,假设我在div中有一些文本,以单间距字体呈现,排列成二维网格。有没有办法在div上添加一些Javascript,这样如果我点击该网格中的任何字符,它就会触发一个脚本,并为它提供我点击的字符的索引 我知道我可以用自己定制的标记包围网格中的每一个字符来强制执行此操作,但是有没有更简单的方法呢?。每次单击都会将所单击字母的矩阵索引记录到控制台。(以0为基础,列

还记得图像地图吗?他们在90年代到处都是。网页上会有一个图像,当你点击它时,它不仅可以根据图像,还可以根据你点击的确切像素来采取一些行动

现在,假设我在div中有一些文本,以单间距字体呈现,排列成二维网格。有没有办法在div上添加一些Javascript,这样如果我点击该网格中的任何字符,它就会触发一个脚本,并为它提供我点击的字符的索引

我知道我可以用自己定制的
标记包围网格中的每一个字符来强制执行此操作,但是有没有更简单的方法呢?

。每次单击都会将所单击字母的矩阵索引记录到控制台。(以0为基础,列、行)

  • 将文本放入等距网格中
  • 将处理程序附加到包含元素的onClick
  • 使用仅包含1个字母的隐藏元素计算单个字母(如“m”)的尺寸
  • event.clientX
    event.clientY
    除以单个字母的尺寸,以获得文本中单击字母的坐标

另请参见。

这很有趣,但它存在一些准确性问题。通过点击字母J,我得到了介于(2,1)和(3,2)之间的各种各样的回答。这是一个好的开始,虽然…是的,这只是一个概念。但我相信它可以始终如一地工作。如果我使用Math.floor而不是Math.round,它会变得更好。