Frage

Mein Problem: Nach dem Laden eines Elements über AJAX bin ich eine On-Click-Funktion, aber wenn der Benutzer das gleiche Element lädt, wird die Aktion wiederholt (nicht ersetzen, zumindest dass es aussieht). Ich habe es versucht unbind, oder click(function(){return false;}); Aber diese vollständige Klimaktion aus dem Element entfernen ...). Was ist eine Standardlösung dieser Art von Problem?

War es hilfreich?

Lösung

Für die meisten Veranstaltungen können Sie verwenden live() (JQuery 1.3+):

$("td").live("click", function() {
  // do stuff
});

Dadurch wird ein Klickereignis an gebunden <td> Elemente, die nach dem Ausführen dieses Codes entstehen.

Dies ist eine viel sauberere Lösung, als zu versuchen, zu binden/zu entbinden und sicherzustellen, dass Sie nicht dasselbe Ereignis zweimal an ein bestimmtes Element gebunden haben.

Andere Tipps

Wenn Sie JQuery 1.3.2 verwenden, können Sie verwenden $('').live('click', function() {}); Es haben Elemente, die mit diesem Selektor übereinstimmen, die Aktion. Es hält die Veranstaltung auch mit neuen Elementen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top