Rumah >hujung hadapan web >tutorial js >JQuery 1.7 .on () vs .Live () Ulasan

JQuery 1.7 .on () vs .Live () Ulasan

William Shakespeare
William Shakespeareasal
2025-03-01 08:31:09187semak imbas
dan .on() kaedah: panduan komprehensif .off() Artikel ini meneroka pengendali acara JQuery's

dan .on(), membandingkannya dengan kaedah .off() sekarang yang dikurangkan. Cadangan Adam Sontag pada Sidang Kemuncak JQuery 2011 untuk mengadopsi .live() dan .on() menonjolkan penambahbaikan yang ketara. Mari kita menyelidiki fungsi dan perbezaan. .off()

jQuery (decrecated) .live()

kaedah

, sekali memuji keupayaannya untuk melampirkan pengendali acara untuk menambahkan elemen DOM secara dinamik, tidak lagi disyorkan. Keterbatasannya termasuk: .live()

  1. Prestasi: Mendapatkan elemen sebelum memohon tidak cekap, terutama dengan dokumen besar. .live()
  2. chaining: chaining kaedah tidak disokong (mis., tidak sah). $("a").find(".offsite, .external").live(...)
  3. Penyebaran acara: Peristiwa perjalanan jalan yang paling lama, yang membawa kepada pengendalian yang lebih perlahan. tidak berkesan dalam mencegah pengendali peringkat rendah dari tembakan. event.stopPropagation() Interaksi
  4. : unbind() membuang $(document).unbind("click") semua pengendali klik yang dilampirkan melalui , berpotensi menyebabkan tingkah laku yang tidak dijangka. .live()

jQuery 1.7  .on() vs .live() Review jQuery

.on() melampirkan pengendali acara ke elemen terpilih, mengendalikan kedua -dua elemen sedia ada dan masa depan.

.on()

jQuery 1.7  .on() vs .live() Review Perbezaan utama: jQuery 1.7  .on() vs .live() Review vs

.live() .on() Fungsi:

    melampirkan peristiwa di tahap
  • , sementara membolehkan delegasi peristiwa yang lebih tepat pada elemen nenek moyang yang ditentukan. .live() Penggunaan: document Perbezaan teras terletak pada urutan parameter dan ketiadaan parameter pemilih dalam .on():
  • .live()
  • Prestasi:
$(selector).live(events, data, handler);                // jQuery 1.3+ (Deprecated)
$(document).delegate(selector, events, data, handler);  // jQuery 1.4.3+ (Deprecated)
$(document).on(events, selector, data, handler);        // jQuery 1.7+
dengan ketara mengalahkan
    , selalunya oleh faktor 3 atau 4, seperti yang ditunjukkan oleh pelbagai penanda aras prestasi.
  • .on() .live()
  • jQuery

.off() Mengeluarkan pengendali acara, menyediakan rakan sejawat kepada .on(). Ia berfungsi sama seperti .unbind(), mengekalkan keserasian ke belakang. Dalam jQuery 1.7 dan kemudian, .unbind() pada dasarnya adalah alias untuk .off().

3

dalam jQuery 1.7 dan kemudian, adalah alias untuk .bind(). .on()

penghijrahan dari

ke .bind() .on()

Ganti dengan .live(). Perhatikan perintah parameter yang diubah. .on()

Soalan Lazim (Soalan Lazim)

$(selector).live(event, data, function) $(document).on(event, selector, data, function) Seksyen Soalan Lazim yang disediakan dalam teks asal sudah komprehensif dan menangani perbezaan utama, strategi penghijrahan, dan pertimbangan prestasi yang berkaitan dengan

dan

. Tidak perlu menghasilkan semula di sini.

Kesimpulan

.live() .on() Peralihan dari

ke

dan adalah peningkatan penting dalam pengendalian acara jQuery. menawarkan prestasi, fleksibiliti, dan penyelenggaraan yang unggul, menjadikannya pilihan pilihan untuk pembangunan jQuery moden.

Atas ialah kandungan terperinci JQuery 1.7 .on () vs .Live () Ulasan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn