Jawabannya banyak, masing-masing menyentuh beberapa poin - semoga bisa memberikan jawaban anda, dengan penjelasan yang baik tentang apa dan bagaimana cara menggunakannya.
Menggunakan click()adalah alias untuk bind('click' ...). Menggunakan bind()mengambil DOM apa adanya saat pemroses peristiwa sedang disiapkan dan mengikat fungsi ke setiap elemen yang cocok di DOM. Artinya, jika Anda menggunakan, $('a').click(...)Anda akan mengikat fungsi yang disediakan ke peristiwa klik dari setiap tag jangkar di DOM yang ditemukan saat kode tersebut dijalankan.
Menggunakan live()adalah cara lama di jQuery; ia digunakan untuk mengikat peristiwa seperti bind()halnya, tetapi tidak hanya mengikatnya ke elemen di DOM saat kode dijalankan - ia juga mendengarkan perubahan di DOM dan akan mengikat peristiwa ke elemen yang cocok di masa depan juga. Ini berguna jika Anda melakukan manipulasi DOM dan Anda membutuhkan acara yang ada di beberapa elemen yang mungkin dihapus / diperbarui / ditambahkan ke DOM nanti tetapi tidak ada saat DOM pertama kali dimuat.
Alasan yang live()sekarang terdepresiasi adalah karena implementasinya yang buruk. Untuk menggunakan live(), Anda harus dapat memilih setidaknya satu elemen di DOM pada awalnya (saya percaya). Ini juga menyebabkan salinan fungsi dijalankan terikat ke setiap elemen - dan jika Anda memiliki 1000 elemen, itu banyak fungsi yang disalin.
Penciptaan on()fungsi itu untuk mengatasi masalah-masalah itu. Ini memungkinkan Anda mengikat satu event listener ke objek yang tidak akan berubah di DOM (jadi Anda tidak dapat menggunakan on()elemen yang akan dihapus / ditambahkan ke DOM nanti - ikat ke objek induk), dan cukup terapkan sebuah elemen "filter" sehingga fungsi tersebut hanya dijalankan ketika itu digelembungkan ke elemen yang cocok dengan selektor. Ini berarti Anda hanya memiliki satu fungsi yang ada (bukan sekumpulan salinan) yang terikat ke satu elemen - pendekatan yang jauh lebih baik untuk menambahkan acara "langsung" di DOM.
... dan itulah perbedaannya, dan mengapa setiap fungsi ada dan mengapa live()disusutkan.
onuntukclickkarenaclicksebagai nama fungsi suara seperti kata kerja, tindakan, ketika apa yang dilakukannya adalah tidak untuk klik elemen (seperti Anda juga dapat melakukan dengan samaclickfungsi)