• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Frage Dynamisch hinzugefügte Events > nur Chrome Engine führt sie aus

phinix2000

Neues Mitglied
Hallo!

Ich wende mich mal wieder mit einem Problem an euch.
Und zwar erstelle ich in einem JS Script dynamisch ein Treeview.
Die Treeview Elemente werden als div Dynamisch erstellt und mit Eigenschaften versehen.

Da ich ja nun möchte, dass wenn man auf ein Item klickt (auf den div) auch was passiert, weise ich dem neuen Element eine Funktion zu beim Click Event.
Zum Test habe ich hier einen Alert und einen Konsolenoutput genommen.

Das Problem daran ist, dass dies nur unter Chrome Browsern funktioniert (Google Chrome, Opera).
Beim Firefox und Safari nicht.

Das window.open wird jedoch immer ausgeführt. nur die anderen 2 nicht. Es kommt auch kein Fehler.

Woran könnte das liegen? Ich möchte hier natürlich eine andere Funktion nachher einbauen, aber mich vorher schon absichern ob das wkl auch funktioniert.

$(this.element).on('click', '.list-group-item', function (e) { // if (e.target.hasAttribute('id')) { console.log(e.target.getAttribute('id')); alert("test"); window.open(e.target.getAttribute('href'), '_blank'); // } });

Vielen Dank schonmal :)
 
Schwierig, aber i könnte versuchen alles auszugliedern ausm rest.

Grundsätzlich stellt sich mir die Frage… wie füge ich einem dynamisch erstelltem div richtig ein onClick hinzu. Denn mit der oben genannten variante funktionierts nur "halb". Das window.open geht immer.
 
Probiere mal das:
Javascript:
$('#element').append('<div id="close">Close</div>');
 
$(document).on('click', '#close', function() {
      // This will work!
});
 
Zurück
Oben