Sie können „bind“ nicht für zukünftige Elementbindungsereignisse verwenden. Sie können stattdessen „live“ verwenden, aber achten Sie auf die Version von jquery, die ab 1.7 nicht empfohlen wird in 1.9 live entfernt werden.
2. Es wird empfohlen, stattdessen on zu verwenden (Hinweis: wird nur von Versionen 1.7 und höher unterstützt). Verwendung: on(events,[selector],[data],fn)
//Es ist nur gültig, wenn es in $(function(){})
$(document).on("click", "#testDiv", function(){
platziert wird //Hier bezieht sich $(this) auf $( "#testDiv"), nicht auf $(document)
3 passendes Element (wie click ) Wenn Sie eine einmalige Ereignisverarbeitungsfunktion binden, verwenden Sie einfach .one() anstelle von on. Beachten Sie, dass sie nicht einmal auf allen [Selektoren], sondern auch nur einmal auf diesen [Auswahlen] ausgeführt wird gültig für zukünftige Elemente.
4. Wenn es in einem Div drei Schaltflächen zum Hinzufügen, Löschen oder Ändern gibt, die an Ereignisse gebunden werden müssen, schreiben Sie wie folgt:
$('#btn-edit').click(function(){});
Der Nachteil Wenn man so schreibt: Man kann den Unterschied zwischen den drei strukturellen Zusammenhängen nicht erkennen, es gibt keinen Grund, dass Ereignisse aufsteigen.
Werfen wir einen Blick auf die Empfehlungen von CoffeeDeveloper, um einige Gedanken zur jQuery-Ereignisbindung zu erhalten:
Code kopieren
"#btn-add": function(){ //etwas tun },
"#btn-del": function(){ //etwas tun },
"#btn-edit": function(){ //etwas tun }
} ,
mouseenter:{
"#btn-abc": function(){ //etwas tun },
}
});
Schreiben Sie es so, Sieht es nicht viel besser aus? (.coffee() ist eine benutzerdefinierte Funktion. Können Sie diese Funktion selbst schreiben?) Wenn die gebundene Funktion jedoch relativ lang ist, sieht der Code immer noch etwas chaotisch aus
Code kopieren
Der Code lautet wie folgt:
Diese Schreibweise vermeidet auch die beiden oben genannten Nachteile und sieht weniger chaotisch aus.