Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk menyahikat acara on-bound dalam jQuery

Bagaimana untuk menyahikat acara on-bound dalam jQuery

PHPz
PHPzasal
2023-04-07 09:01:14952semak imbas

jQuery ialah perpustakaan JavaScript yang sangat popular yang digunakan secara meluas dalam pembangunan web kerana API yang kaya dan pemilih yang berkuasa. Dalam jQuery, kita boleh menggunakan kaedah on() untuk mengikat peristiwa, tetapi apakah yang perlu kita lakukan apabila kita perlu menyahikat acara?

Menyahikat satu acara

Dalam jQuery, kita boleh menggunakan kaedah off() untuk menyahikat satu atau lebih acara.

Andaikan kita telah mengikat acara klik melalui kaedah on():

$('button').on('click', function(){
    alert('Hello World!');
});

Untuk menyahikat acara ini, kita boleh menggunakan kaedah off() pada elemen:

$('button').off('click');

Dengan cara ini anda boleh menyahikat acara klik.

Menyahikat berbilang acara

Jika kami telah mengikat berbilang acara dan ingin menyahikat kesemuanya sekali gus, kami boleh menghantar berbilang nama acara dalam kaedah off() Asingkan dengan ruang.

Sebagai contoh, katakan kita telah mengikat peristiwa klik dan tetikus melalui kaedah on():

$('button').on('click mouseenter', function(){
    alert('Hello World!');
});

Untuk menyahikat kedua-dua acara ini, anda boleh menulis:

$('button').off('click mouseenter');

Menyahikat pengendali acara tertentu

Jika kami telah mengikat berbilang pengendali untuk acara yang sama dan ingin menyahikat salah satu pengendali, kami boleh mengeluarkan kaedah () melepasi dua parameter: nama acara dan pengendali fungsi untuk diketepikan.

Sebagai contoh, katakan kami telah mengikat acara klik melalui kaedah on() dan mencipta dua pengendali acara klik:

function clickHandler1() {
    alert('Hello World1!');
}

function clickHandler2() {
    alert('Hello World2!');
}

$('button').on('click', clickHandler1);
$('button').on('click', clickHandler2);

Jika kami ingin mengetepikan pengendali pertama Untuk mengikat, anda boleh melakukan ini:

$('button').off('click', clickHandler1);

Ini hanya akan menyahikat fungsi pemprosesan pertama tanpa menjejaskan fungsi pemprosesan lain.

Lepaskan semua acara

Akhir sekali, jika kita ingin melepaskan semua acara sekali gus, kita boleh melakukannya seperti ini:

$('button').off();

Tetapi harus diingat bahawa, Selain menyahikat acara, kaedah ini juga akan menyahikat semua data yang berkaitan dan fungsi pemprosesan acara pada masa yang sama, jadi ia perlu digunakan dengan berhati-hati.

Ringkasan

Sama ada untuk menyahikat satu acara atau menyahikat berbilang acara, kaedah off() jQuery boleh melakukan tugas dengan sempurna. Jika anda ingin membatalkan pengendali acara tertentu, anda perlu menentukan pengendali yang ingin anda batalkan dalam kaedah off().

Semasa proses pembangunan, kita perlu menggunakan kaedah ini secara fleksibel untuk mencapai kesan kod yang lebih baik.

Atas ialah kandungan terperinci Bagaimana untuk menyahikat acara on-bound dalam jQuery. 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