我正在尝试使用 JavaScript 获取对图像映射中区域元素的引用,但在 IE8+ 中它不起作用。
我的 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)
- 火狐 17 (XP)
- 火狐 21 (W7)
- 火狐 21 (W8)。
当我运行时:
console.log(document.getElementById("seg-1"));
我得到了上述工作的浏览器的元素,但我得到了上述不工作的浏览器中页面的 URL。
有什么想法可以让我完成这项工作吗?
PS:这里是 jsFiddle:http: //jsfiddle.net/Stimpski/Y5jeJ/