Es gibt viele Antworten, von denen jede ein paar Punkte berührt - hoffentlich kann dies Ihnen Ihre Antwort geben, mit einer guten Erklärung, was was ist und wie man es verwendet.
Verwenden click()ist ein Alias für bind('click' ...). Bei Verwendung bind()wird das DOM so verwendet, wie es ist, wenn der Ereignis-Listener eingerichtet wird, und die Funktion wird an jedes der übereinstimmenden Elemente im DOM gebunden. Das heißt, wenn Sie verwenden $('a').click(...), binden Sie die bereitgestellte Funktion an das Klickereignis jedes Ankertags im DOM, das bei der Ausführung dieses Codes gefunden wurde.
Verwenden live()war der alte Weg in jQuery; Es wurde verwendet, um Ereignisse genau wie dies zu bind()tun, aber es bindet sie nicht nur an Elemente im DOM, wenn der Code ausgeführt wird. Es lauscht auch auf Änderungen im DOM und bindet Ereignisse auch an zukünftige Elemente, die mit der Zukunft übereinstimmen. Dies ist nützlich, wenn Sie eine DOM-Manipulation durchführen und für einige Elemente ein Ereignis vorhanden sein muss, das möglicherweise später entfernt / aktualisiert / zum DOM hinzugefügt wird, aber beim ersten Laden des DOM nicht vorhanden ist.
Der Grund, der live()jetzt abgeschrieben wird, ist, dass es schlecht implementiert wurde. Um verwenden live()zu können, musste man zunächst mindestens ein Element im DOM auswählen können (glaube ich). Außerdem wurde eine Kopie der Funktion an jedes Element gebunden - und wenn Sie 1000 Elemente haben, sind das viele kopierte Funktionen.
Die Schaffung der on()Funktion bestand darin, diese Probleme zu überwinden. Sie können einen einzelnen Ereignis-Listener an ein Objekt binden, das sich im DOM nicht ändert (Sie können es also nicht on()für ein Element verwenden, das später entfernt / zum DOM hinzugefügt wird - binden Sie es an ein übergeordnetes Objekt) und einfach anwenden ein Element "filtern", so dass die Funktion nur ausgeführt wird, wenn sie zu einem Element hochgeblasen wird, das dem Selektor entspricht. Dies bedeutet, dass nur eine Funktion vorhanden ist (keine Kopien), die an ein einzelnes Element gebunden ist - ein viel besserer Ansatz zum Hinzufügen von "Live" -Ereignissen im DOM.
... und genau das sind die Unterschiede, warum jede Funktion existiert und warum sie live()abgeschrieben wird.
on,clickweilclickein Funktionsname wie ein Verb klingt, eine Aktion, wenn es nicht darum geht, auf das Element zu klicken (wie Sie es auch mit derselbenclickFunktion tun können)