Heim >Web-Frontend >Front-End-Fragen und Antworten >So lösen Sie das Problem mit dem JQuery-Bindungsfehler
Lösung für jQuery-Bindungsfehler: 1. Erstellen Sie eine HTML-Beispieldatei 2. Verwenden Sie „$(".sentnum-box").delegate(".a-add-ordergoods","click",function(){ . ..});“ gelöst werden kann.
Die Betriebsumgebung dieses Artikels: Windows 7-System, JQuery-Version 3.2.1, DELL G3-Computer
Wie löse ich das Problem mit dem JQuery-Bindungsfehler?
jQuery verwendet bind, um ungültige dynamische Bindungsereignisse zu verarbeiten.
Vor kurzem entwickle ich eine Seite. Wenn ich Seitenspezialeffekte erstelle, muss ich einer dynamisch geladenen Schaltfläche ein Ereignis zuweisen. Also habe ich $(obj) ohne nachzudenken verwendet. bind(); um Ereignisse zu binden.
Aber es gibt ein Problem:
bind kann zwar Ereignisse binden, aber das ist im Vergleich zu festen HTML-Tags
Wenn der Seiteninhalt dynamisch geladen wird, liegt ein Fehler im Bind-Ereignis vor und es kann nur einmal gebunden werden , es wird nutzlos sein, wenn Sie das Ereignis zum zweiten Mal auslösen
Zum Beispiel:
Ich ordne dem 3499910bf9dac5ae3c52d5ede7383485-Tag einen Klick zu und der 3499910bf9dac5ae3c52d5ede7383485-Tag wird aus den Hintergrunddaten gelesen und dann dynamisch geladen. Wenn ich bind verwende, um das Klickereignis zu binden, kann der erste Klick erfolgreich ausgelöst werden
Aber beim zweiten Klick ist das Klickereignis ungültig.
Spätere Untersuchungen ergaben, dass jQuery auch eine Möglichkeit hat, Ereignisse zu binden: delegate();
Die Verwendung ist wie folgt:
$(".sentnum-box").delegate(".a-add-ordergoods","click",function(){ //js数据代码 });
Auf diese Weise können Sie dynamische Datenbindungsereignisse erreichen, die nie ablaufen
Empfohlenes Lernen: „
JQuery-Video-TutorialDas obige ist der detaillierte Inhalt vonSo lösen Sie das Problem mit dem JQuery-Bindungsfehler. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!