我正在尝试使用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");};
这适用于:
但不在:
当我跑步时:
console.log(document.getElementById("seg-1"));
我获取了上述浏览器的元素,但我在上述浏览器中获取了不起作用的页面的URL。
任何想法如何使我的工作?
PS:这是jsFiddle:http://jsfiddle.net/Stimpski/Y5jeJ/
答案 0 :(得分:0)
尽管看起来很讨厌console.log()
,document.getElementById("seg-1")
引用了HTML元素,但只有area
的{{1}}方法显示了网址。
这对某些浏览器不起作用的原因是toString()
的名称。您不应在map
的{{1}}属性中使用#
。仅name
的{{1}}属性需要map
。