Bagaimana untuk menyahikat acara on-bound dalam jQuery

PHPz
Lepaskan: 2023-04-07 15:10:30
asal
988 orang telah melayarinya

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!');
});
Salin selepas log masuk

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

$('button').off('click');
Salin selepas log masuk

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!');
});
Salin selepas log masuk

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

$('button').off('click mouseenter');
Salin selepas log masuk

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);
Salin selepas log masuk

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

$('button').off('click', clickHandler1);
Salin selepas log masuk

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();
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan