#jquery #click #internet-explorer-9 #raphael
#jquery #нажмите #internet-explorer-9 #рафаэль
Вопрос:
В следующем фрагменте кода срабатывает первое событие щелчка, но остальные этого не делают — в 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 щелчок по корневому узлу показывает [объект SVGImageElement] — на других узлах событие не запускается. В других браузерах вы получаете то же самое (SVGImageElement) для всех узлов
Комментарии:
1. Последняя фиксация кода была 26 августа 2010 года, так что вполне возможно, что IE9 не поддерживается. Медленные темпы разработки — моя самая большая проблема с этой библиотекой
2. Последняя фиксация кода была 5 апреля 2011 года.
Ответ №1:
Это временное решение для всех, кто ищет. Вы можете поместить квадрат, круг или любой другой вектор позади вашего изображения и привязать к нему события.
В IE9 это работает путем нажатия на фигуру за изображением — во всех других браузерах срабатывает событие image.