在下面的一段代码中,第一次点击事件会触发,但其余部分没有 - 在IE 9中。它在Chrome和Firefox中工作正常(显然IE 8 - 虽然我还没有测试过)
$(document).ready(function () {
var d = paper.image("/Content/images/male.png", 100, 100, 32, 32);
d.click(function (event) {
alert(this.node);
});
$.each(hierarchy.children, function (index, value) {
DrawNode(paper, value);
});
})
function DrawNode(paper, currentPerson) {
var currentNode = paper.image("/Content/images/male.png", currentPerson.X, currentPerson.Y, 32, 32).attr({ stroke: "none", fill: "none" });
currentNode.click(function (event) {
alert(this.node);
});
}
在IE9中,单击根节点会显示[object SVGImageElement] - 事件未触发的其他节点。在其他浏览器中,所有节点都获得相同的(SVGImageElement)
答案 0 :(得分:0)
对于正在寻找的人来说,这是一个临时工作。您可以在图像后面放置方形,圆形或任何其他矢量,并将事件绑定到该图像。
在IE9中,它通过点击图像背后的形状来工作 - 在所有其他浏览器上,图像事件将被触发。