kostenloser Webspace werbefrei: lima-city


jQuery in .load() Datei .click() ausfühen

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    thwbm

    thwbm hat kostenlosen Webspace.

    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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. g****e

    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
  4. Autor dieses Themas

    thwbm

    thwbm hat kostenlosen Webspace.

    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
  5. thwbm schrieb:
    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?
    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:
    $(".Klasse").live("click", function() {alert("Test");});
  6. Autor dieses Themas

    thwbm

    thwbm hat kostenlosen Webspace.

    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
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!