Betrachten Sie den folgenden Code
<ul id="myTask">
<li>Coding</li>
<li>Answering</li>
<li>Getting Paid</li>
</ul>
Nun, hier geht der Unterschied
// Remove the myTask item when clicked.
$('#myTask').children().click(function () {
$(this).remove()
});
Was ist, wenn wir erneut eine myTask hinzufügen?
$('#myTask').append('<li>Answer this question on SO</li>');
Wenn Sie auf dieses myTask-Element klicken, wird es nicht aus der Liste entfernt, da keine Ereignishandler gebunden sind. Wenn wir stattdessen verwendet hätten .on, würde der neue Artikel ohne zusätzlichen Aufwand von unserer Seite funktionieren. So würde die .on-Version aussehen:
$('#myTask').on('click', 'li', function (event) {
$(event.target).remove()
});
Zusammenfassung:
Der Unterschied zwischen .on()und besteht .click()darin, dass dies .click()möglicherweise nicht funktioniert, wenn die dem .click()Ereignis zugeordneten DOM-Elemente zu einem späteren Zeitpunkt dynamisch hinzugefügt werden, während .on()es in Situationen verwendet werden kann, in denen die dem .on()Aufruf zugeordneten DOM-Elemente zu einem späteren Zeitpunkt dynamisch generiert werden können.