Saat menggunakan jQuery untuk menghubungkan event handler, apakah ada perbedaan antara menggunakan metode klik
$().click(fn)
versus menggunakan metode mengikat
$().bind('click',fn);
Selain parameter data opsional bind.
javascript
jquery
event-handling
Alan Storm
sumber
sumber
Jawaban:
Untuk apa nilainya, dari sumber jQuery :
Jadi tidak, tidak ada perbedaan -
panggilan
sumber
click()
pada dasarnya adalah singkatan untukbind('click')
(atau, di zaman sekarang ini, panggilan sebenarnyaon('click')
. Menurut saya, Anda mungkin juga menyimpan panggilan fungsi tambahan itu dengan menggunakanon('click')
secara langsung.+1 untuk jawaban Matthew, tetapi saya pikir saya harus menyebutkan bahwa Anda juga dapat mengikat lebih dari satu pengendali acara sekaligus menggunakan
bind
yang jauh lebih bersih setara dengan:
sumber
Ada satu perbedaan di mana Anda dapat mengikat acara khusus menggunakan formulir kedua yang Anda miliki. Jika tidak, mereka tampaknya sinonim. Lihat: jQuery Event Docs
sumber
Ada parameter [data] dari bind yang hanya akan terjadi pada waktu-bind, satu kali.
Anda juga dapat menentukan peristiwa khusus sebagai parameter pertama dari bind.
sumber
Menurut saya .click () jauh lebih logis, tapi saya rasa begitulah cara Anda memikirkan berbagai hal.
Tampaknya sesederhana yang Anda dapatkan.
sumber
Jika Anda memiliki Google Chrome, alat pengembang mereka memiliki alat pendengar acara, pilih elemen yang Anda ingin untuk memata-matai acara.
Anda akan menemukan bahwa mencoba kedua cara tersebut menghasilkan hasil yang sama, jadi keduanya setara.
sumber
Saya lebih suka .bind () karena konsistensi antarmukanya dengan .live () . Tidak hanya membuat kode lebih mudah dibaca, tetapi juga memudahkan untuk mengubah baris kode untuk menggunakan satu metode daripada yang lain.
sumber