2013-05-30 23 views
0

我試圖用JavaScript引用圖像地圖中的區域元素,但是在IE8 +中它不起作用。在IE8中使用JavaScript獲取對圖像映射區域元素的引用+

我的HTML:

<div class="container"> 
    <img src="image.png" usemap="#hotspots"> 
    <map name="#hotspots"> 
     <area id="seg-1" href="" shape="poly" coords="167,286,113,379,320,379,266,286,167,286"/> 
     <area... /> 
     <area... /> 
     <area... /> 
     ... 
    </map> 
</div> 

我的javascript:

document.getElementById("seg-1"); 

我給你一個傳統的事件處理程序是這樣的:

document.getElementById("seg-1").onmouseup = function() {alert("onmouseup called");}; 

這個工作在:

  • 的Safari 6(OS X)
  • 鉻26(OS X)
  • 火狐21(OS X)
  • 鉻27(XP)
  • 鉻27(W7)
  • 鉻(W8)。

但不是在:

  • IE8(XP)
  • IE9(W7)
  • IE10(W8)
  • 的Firefox 17,(XP)
  • 的Firefox 21(W7)
  • Firefox 21(W8)。

當我運行:

console.log(document.getElementById("seg-1")); 

我得到的元素爲工作上面的瀏覽器,但我得到的頁面的URL在以上的瀏覽器不工作。

任何想法,我可以使這項工作?

PS:這裏的的jsfiddle:http://jsfiddle.net/Stimpski/Y5jeJ/

回答

0

儘管一個討厭的console.log()document.getElementById("seg-1")指的是HTML元素,它表示URL只是areatoString()方法。

這對某些瀏覽器不起作用的原因是map的名稱。您不應該在mapname屬性中使用#。僅在imgusemap屬性中需要#

+0

非常感謝您的回答:) – Stimpson