Wie binden Sie eine Funktion an das nicht existierende Element?
-
05-07-2019 - |
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?
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.