2010-05-03 73 views
0

當你有多個圖像共享相同的圖像,有什麼辦法來檢測當用戶點擊圖像時點擊哪個圖像?檢測哪個圖像與圖像被點擊

我創建了一個小的JavaScript應用程序,其中建築物(簡單圖像)放置在地圖上並可以拖動。當用戶點擊建築物時,可以使用e.target輕鬆檢索建築物,然後拖動。但是,添加圖像映射(以增加點擊準確性)時,e.target不再有效。還有一種方法可以找出被點擊的圖片嗎?當圖像使用圖像映射時,javascript無法檢測到圖像被點擊,這似乎有點奇怪?

所以,如果你有兩個圖像,都使用usemap =「samemap」,如何找出哪兩個被點擊時圖像地圖被觸發?

回答

0

我通過使用document.elementFromPoint(x,y)發現了這個問題的一個解決方案。它只是告訴在給定座標處有什麼元素。通過捕獲單擊圖像映射時鼠標點擊的座標,可以使用該座標來查找映像圖下方的圖像。對於Opera和Firefox,即使imagemap仍然存在,elementFromPoint也會提供圖像。對於Internet Explorer和谷歌瀏覽器,我必須暫時禁用圖片,使用document.elementFromPoint,然後重新啓用圖片。

找到後,我切換到另一種方法,但也許它幫助別人。