2010-05-03 81 views
0

当你有多个图像共享相同的图像,有什么办法来检测当用户点击图像时点击哪个图像?检测哪个图像与图像被点击

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

所以,如果你有两个图像,都使用usemap =“samemap”,如何找出哪两个被点击时图像地图被触发?

回答

0

我通过使用document.elementFromPoint(x,y)发现了这个问题的一个解决方案。它只是告诉在给定坐标处有什么元素。通过捕获单击图像映射时鼠标点击的坐标,可以使用该坐标来查找映像图下方的图像。对于Opera和Firefox,即使imagemap仍然存在,elementFromPoint也会提供图像。对于Internet Explorer和谷歌浏览器,我必须暂时禁用图片,使用document.elementFromPoint,然后重新启用图片。

找到后,我切换到另一种方法,但也许它帮助别人。