• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

JS greift nicht in jquery load() content

TecEye

New member
ich hab ein ein layout, an denen an verschiedenen stellen via jquery load inhalte reingeladen werden (content)
des weiteren habe ich eine JS datei auf layoutebene die einige functionen beinhaltet. jetzt benötige ich diese function in den contents der reingeladenen ajax inhalte, aber da greift meine JS datei irgendwie nicht. Wieso, bzw was muss ich tun (außer überall meine JS reinzuladen) damit es funktioniert?
 
wie kann ich ajax load() in ne fiddle bauen? dafür brauche ich ja ne externe datei
aber moment ich bau einfach mal, des aufbau willen ;)
 
so mal in ganz vereinfacht sieht es so aus
Edit fiddle - JSFiddle

in meiner js befindet sich jetzt das
Code:
$("[data-userinfo='1']").click(function(){ alert('open'); });

das functioniert aber nicht in dateien die ich reingeladen habe, aber würde ich der navi jetzt data-userinfo='1' geben, dann funktionierts

- - - Aktualisiert - - -

ist denn das nachgeladene js ge-eval-t?

es wird nicht nachgeladen, es ist bereits da
 
data-userinfo='1' g
Was ist denn den für ein Selektor?:confused:
im fiddle hast du da $("#content") stehen, das kann man nachvollziehen.

das functioniert aber nicht in dateien die ich reingeladen habe
Naja Javascript wird ja Just in Time compiliert. Wird aber Javascript code der via load geladen wurde auch kompiliert? Frage an Korbinian!

Nicht um sonnst gibt es jquery.getscript
Description: Load a JavaScript file from the server using a GET HTTP request, then execute it.

PS über jquery load() hatte ich gestern erst ein Thema: http://forum.jswelt.de/javascript/61360-responsive-iframe.html #7 anschauen
 
Was ist denn den für ein Selektor?:confused
ich habe bei den mitarbeitern avatar-bilder vor die namen gesetzt, profilbild halt, beim hovern sollen dann User-infos kommen, und die möglichkeit, notizen, termine etc mit den kollegen zu teilen.
data-userinfo ist der parameter der bestimmt ob (1) oder ob keine (0) userinfo gezeigt wird.

also nimmt der inhalt den ich rein load()e gar keinen bezug zu meine JS ja?
Heißt also ich muss das JS in der Datei aufrufen, die ich rein load()e?
 
data-userinfo ist der parameter der bestimmt ob (1) oder ob keine (0) userinfo gezeigt wird.
Solche verfahren sind mir neu. Hast du da links Tutorial etc. wo man sich das anschauen kann?

Heißt also ich muss das JS in der Datei aufrufen, die ich rein load()e?
Nee, Du kannst kein JS in einer fremden Datei aufrufen. Es gibt in Browsern kein exec wie in php oder NodeJS.

Ich habe das so gemeint:
Nehmen wir an du erstellt dir in ein textarea ein Javascript Code ungefähr so:
Code:
 var head = document.getElementsByTagName("head")[0];
    var script = document.createElement("script");
    script.src = // Texterea content
    head.appendChild(script);
.src ist zwar jetzt das falsche aber Du versteht au was ich hinaus möchte.
Das was in der textarea eingeben wurde gab es zum Aufruf der Seite ja noch gar nicht. Der Browser kann also den Neuen code gar nicht kennen.
Irgendwie musst du das neue Javascript erst mal ausführen aber wie? z.b über ein Eventhandler wie onreadystatechange oder ein Selbst ausführende Funktion.

Genaugenommen weiß ich auch nicht wie.



Das ganze macht mich kirre oder es ist die Hitze :very_drunk:

:sleeping:
 
das sind neue Attribute die man selbst definieren kann, ich hinterlege damit verschiedenste Parameter bei Elementen, Listeneinträgen usw.
und in diesem Fall 1 oder 0 ob anzeigen oder nicht

ich nutz es schon eine gefühlte Ewigkeit, könnte ohne die kaum leben :D
HTML Global data-* Attributes
 
diese data-* Attribute sind schon ok. Geht es darum, dass JS anderen JS Code aus einer Datei nachladen soll?
 
nein es geht darum dass ich eine gesamte js datei habe, die natürlich beim starten aufgerufen wird.
nachgeladener content bekommt davon wahrscheinlich nichts mit.
frage ist, gibt es eine andere möglichkeit, als die js auch in die nachgeladene datei aufzurufen?
Will sie ungern zwei mal reinladen
 
aso also andersrum.
woran machst du fest dass der nachgeladene code keinen zugriff hat?
und hast du den nachgeladenen code wirklich ge-eval-t?
 
warum sollte ich nachgeladenen php/html content eval-n?
Ich mach es daran fest, dass elemente mit data-userinfo='1' im mainframe/root funktionieren und im nachgeladenen content nicht :/
 
achso. das js findet bestimmte nodes nicht?
dann wird das nachgeladene nicht sauber in das DOM eingefügt oder es ist ein reihenfolgeploblem. kann man sich das irgendwo live ansehen?
 
Das System ist leider nicht öffentlich, die Fehlerkonsole macht aber keine Mukken.
Reihenfolge, also du meinst dass die JS zu früh geladen wurde? habe $(document).ready() drumrum aber bringt nix
 
Zurück
Oben