Ни один из вопросов, которые я просматривал, кажется, не помогает мне в этом.
Я встраиваю документ SVG таким образом:
<embed onload="fixup()" id="zgraphic" src="images/test.svg" width="500" type="image/svg+xml" />
И затем я пытаюсь найти элементыв SVG и добавьте к ним обработчики событий.Я уже узнал, что jQuery не будет работать, чтобы найти элементы SVG.У меня это в голове:
<script type="text/javascript">
function blah(event) {
alert("Got event: " + event)
}
var svg;
var slot1;
function fixup() {
svg = jQuery("#zgraphic")[0].getSVGDocument();
slot1 = svg.getElementById("slot1");
slot1.onclick = blah;
alert("Set onclick for " + slot1);
}
</script>
Используя firebug, я вижу, что переменные svg и slot1 устанавливаются, и свойство onclick в slot1 также устанавливается.Но событие никогда не наступает.
Дополнительный вопрос: есть ли лучший способ получить корневой объект SVGDocument, чем то, как я это делаю?Я попал туда методом проб и ошибок, но мне это кажется шатким, и я не смог найти ничего подобного в Интернете.Было бы хорошо, если бы jQuery мог проникнуть в документ SVG, но я мог бы жить без него, если бы мне пришлось.