检测单击了imagemap的图像

时间:2010-05-03 16:09:31

标签: javascript drag-and-drop imagemap

当您有多个共享同一个图像的图像时,有没有办法检测用户点击图像时点击了哪个图像?

我创建了一个小应用程序,其中建筑物(简单图像)放置在地图上并可以拖动。当用户点击建筑物时,可以使用e.target轻松检索建筑物,然后拖动。但是,添加图像映射(以提高点击准确度)时,e.target不再有效。还有办法找出点击的图像吗?当图像使用图像映射时,javascript无法检测到图像被点击似乎有点奇怪?

那么,如果您有两个图像,都使用usemap =“samemap”,那么如何在触发图像映射时找出哪两个被点击了?

1 个答案:

答案 0 :(得分:0)

我通过使用document.elementFromPoint(x,y)找到了解决此问题的方法。它只是告诉给定坐标处的元素。通过在单击图像映射时捕获鼠标单击的坐标,可以使用它来查找图像映射下方的图像。对于Opera和Firefox,elementFromPoint会提供图像,即使图像图仍然存在。对于Internet Explorer和Google Chrome,我必须暂时禁用imagemap,使用document.elementFromPoint,然后重新启用imagemap。

找到这个之后,我换了另一种方法,但也许它可以帮助别人。