jQuery in .load() Datei .click() ausfühen
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
aktion
analyse
arbeiten
befehl
code
dank
datei
denkfehler
form
frage
http
jemand
problem
schnelle antwort
spezielle funktion
stellen
test
url
verschiedenen dateien
vorhaben
-
Hallo,
da ich auf Google nichts passendes gefunden habe, stelle ich meine Frage jetzt hier. Erstmal ein Beispielcode:
$(document).ready(function() { $("#Datei1").load("Datei1.html") }); $(document).ready(function() { $("#Datei2").load("Datei2.html") }); $(".Klasse").click(function() { alert("Hallo"); });
Die Klasse ".Klasse", die eine Aktion (hier der alert() Befehl) beim draufklickenausführen soll, befindet sich in der Datei1.html bzw. Datei2.html, mit einer Callbackfunktion kann ich hier nicht arbeiten, da an verschidenen stellen die verschiedenen Dateien eingeladen werden. Kennt jemand eine Möglichkeit, mit der ich mein Vorhaben umsetzden kann?
MFG THWBM
Beitrag zuletzt geändert: 18.1.2013 16:08:16 von thwbm -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
function setupEvents() { //setup events $(".Klasse").click(function() { alert("Hallo"); }); }; $(document).ready(function() { $("#Datei1").load("Datei2.html" , setupEvents ); $(document).ready(function() { $("#Datei2").load("Datei2.html" , setupEvents );
Warum sollte das nicht mit Callbacks in dieser Form geben?
Wenn du das nicht magst:
document.body.addEventListener( "click" , function(event) { // analyse event.srcElement });
Im event.srcElement befindet sich das Elemtn, auf welches geklickt wurde. Das kannst du dann auf die Klasse hin untersuchen, und entsprechend den Click behandeln.
Liebe Grüße -
Hallo und danke für die schnelle Antwort,
ggamee schrieb:
function setupEvents() { //setup events $(".Klasse").click(function() { alert("Hallo"); }); }; $(document).ready(function() { $("#Datei1").load("Datei2.html" , setupEvents ); $(document).ready(function() { $("#Datei2").load("Datei2.html" , setupEvents );
Warum sollte das nicht mit Callbacks in dieser Form geben?
Ich hatte einen blöden Denkfehler. Mein Problem ist, dass die Klasse .Klasse zum einen in der Datei1.html und Datei2.html aber auch in der Datei, in die die Dateien hinengeladen werden, vorkommt. Das .click() wird aber nicht ausgeführt, wenn sich die .Klasse in der Datei, die hinengeladen wird, befindet, sondern nur auserhalb. Die Callbackfunktion hat bei mir auch nicht funktioniert.
MFG THWBM -
thwbm schrieb:
Für dieses Problem stellt jQuery eine spezielle Funktion zur Verfügung: Mit live() kannst du einen Event-Handler auch auf "zukünftige" Elemente ansetzen. Beispiel:
Die Klasse ".Klasse", die eine Aktion (hier der alert() Befehl) beim draufklickenausführen soll, befindet sich in der Datei1.html bzw. Datei2.html, mit einer Callbackfunktion kann ich hier nicht arbeiten, da an verschidenen stellen die verschiedenen Dateien eingeladen werden. Kennt jemand eine Möglichkeit, mit der ich mein Vorhaben umsetzden kann?
$(".Klasse").live("click", function() {alert("Test");});
-
Hallo,
ploco schrieb:
$(".Klasse").live("click", function() {alert("Test");});
Danke, die Funktion kannte ich noch gar nicht, aber damit habe ich es hinbekommen. Falls sich doch noch Fragen ergeben, werde ich sie hier stellen.
MFG THWBM -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage