Dieser Artikel stellt hauptsächlich das Problem der wiederholten Bindung des dynamischen Ladens von JavaScript vor. Er ist sehr gut und hat Referenzwert.
Vorwort
Beim Hinzufügen eines Datenelements wurde das dynamische Laden verwendet, um es auf der Benutzeroberfläche anzuzeigen. Nachdem ich ein Datenelement hinzugefügt hatte, wurde ein schwerwiegender Fehler entdeckt und dann auf „Löschen“ geklickt, wird die Frage gestellt, ob „Löschen“ angezeigt werden soll, wie unten gezeigt:
Aber wenn ich mehr als zwei Datenelemente hinzufüge, wird jedes gelöschte Element mehrmals zur Bestätigung aufgefordert die Löschung.
Nach der Untersuchung haben wir endlich das Problem gefunden.
Text
Wenn Inhalte dynamisch hinzugefügt werden, werden normalerweise die Ereignisse geschrieben, die im hinzugefügten p verwendet werden müssen, z. B. Klickereignisse / Chang-Events usw. Nehmen Sie als Beispiel mein Löschereignis. Da das Löschereignis unter dem Ereignis des Hinzufügens einer Notiz geschrieben werden muss, wird es beim Hinzufügen des ersten Datenelements einmal gebunden, und beim Hinzufügen des zweiten Datenelements wird es einmal gebunden , und wenn das n-te Datenelement hinzugefügt wird, wird es einmal gebunden. Es wurden n-fache Löschereignisse gebunden. Wenn Sie also das n-te Datenelement löschen, werden Sie n-mal aufgefordert, den Löschvorgang zu bestätigen.
Da nun die Fehlerursache gefunden wurde, kann sie behoben werden. Bevor Sie das Löschereignis binden, lösen Sie einfach die Bindung des letzten gebundenen Ereignisses.
Code:
//解绑 $(".deletebtn").off("click"); $(".update").off("change"); //绑定 $(".deletebtn").bind('click', delete_click); $(".update").bind('change', change_fonts);
Das Obige habe ich für Sie zusammengestellt. Ich hoffe, es wird Ihnen in Zukunft hilfreich sein.
Verwandte Artikel:
AJAX wird verwendet. Bestimmen Sie, ob der Benutzer registriert ist
Ajax implementiert die asynchrone Datei- oder Bild-Upload-Funktion
Das obige ist der detaillierte Inhalt vonProblem mit der doppelten Bindung beim dynamischen Laden von JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!