jQuery SVG-Objekt Tag laden Ereignis

9

Ich habe eine Seite, die über jQuery dynamisch SVGs zur Seite hinzufügt:

%Vor%

Ich brauche Zugriff auf das SVG-Dokument (um eine Variable in den SVG-Skriptkontext zu "schieben"), aber das SVG muss dafür geladen werden. Mein Problem ist, dass ich das Lastereignis nicht funktioniere. Es wird keine Warnung angezeigt.

Wie geht es?

Bearbeiten: Es scheint, als würde jQuery einfach verhindern, ein "load" -Ereignis an ein Nicht-Bild-oder-Dokument-Element zu binden, also verwende ich einfach die "offizielle" addEventListener () -Funktion (nicht unterstützt von blödem IE, aber das ist für mich kein Problem):

%Vor%     
Euro 26.08.2012, 19:24
quelle

1 Antwort

-1

Ich weiß nicht, was grid in Ihrem Beispiel ist, aber wenn es ein normales dom-Element ist, dann sollte der load api-Aufruf das in den api-Dokumenten definierte Format haben. Derzeit sieht es so aus, als ob Sie versuchen, einen Funktionsaufruf zu laden, der keinen Sinn ergibt.

%Vor%

so

%Vor%

Ссылка

UPDATE: Ich habe nicht versucht, SVG-Daten mit HTML in den Browser zu laden, aber die W3C-Dokumente erwähnen nicht, dass das <object> -Tag dafür verwendet werden könnte. Ihr Beispiel verwendet <embed>

%Vor%

Haben Sie versucht, anstelle von <object> ?

zu verwenden

UPDATE 2:

Ich denke nicht, dass die obige Lösung auch funktionieren wird, da das JS onload -Ereignis von den folgenden Tags unterstützt wird: <body>, <frame>, <frameset>, iframe, <img>, <input type="image">, <link>, <script>, <style> - Ich nehme an, dass jQuery gerade dabei ist, also funktioniert es nur für diese Elemente. Die jQuery-Dokumentation sagt, dass der Event-Handler von images, scripts, frames, iframes und dem window -Objekt unterstützt wird.

Wenn das also nicht funktioniert, müssen Sie wahrscheinlich nur den Methodenaufruf .load() verwenden und die Ergebnisse verarbeiten. Vielleicht können Sie die SVG Embed-Tags in separate HTML-Dateien einfügen oder ein Skript, das die HTML-Embeds generiert.

Ссылка

UPDATE 3:

Es scheint mindestens zwei richtige Lösungen für dieses Problem zu geben.

  1. jQuery SVG-Plugin Ссылка

  2. ein jQuery ajax() ruft detailliert hier auf einschließlich Informationen über die Interaktion mit dem Svg-Canvas nach dem Laden.

Matti Lyra 26.08.2012 19:33
quelle

Tags und Links