Rumah >hujung hadapan web >tutorial js >Hentikan fungsi acara jQuery
Menghentikan Fungsi Acara JQuery: Panduan Komprehensif
menawarkan penyelesaian yang mudah, ia sering bukan pendekatan yang optimum. Mari kita periksa alternatif unggul dan bila menggunakan setiap. return false
Kaedah untuk menghentikan fungsi acara:
Beberapa teknik wujud untuk mengganggu pengendalian acara, masing -masing dengan kes penggunaan khusus:
return false;
: Ini adalah kaedah yang paling mudah. Ia segera menghentikan pelaksanaan fungsi dan mengembalikan kawalan kepada pemanggil. Walau bagaimanapun, ia secara amnya kurang tepat daripada pilihan lain dan harus dielakkan kecuali benar -benar diperlukan.
e.preventDefault();
: Kaedah ini menghalang tindakan penyemak imbas lalai yang berkaitan dengan peristiwa (mis., Mengikuti pautan, mengemukakan borang). Ia memerlukan akses kepada objek acara () dalam fungsi panggil balik anda. Contoh: e
$("a").click(function(e) { e.preventDefault(); // Your custom code here });
e.stopPropagation();
: Berguna apabila berurusan dengan elemen bersarang. Ia menghalang penyebaran peristiwa ke atas pokok Dom. Sekiranya anda mempunyai pengendali acara yang dilampirkan pada elemen induk dan elemen kanak -kanak, pada kanak -kanak menghalang pengendali ibu bapa dari menembak. Contoh: stopPropagation()
$("a").click(function(e) { e.stopPropagation(); // Prevents parent's click handler from firing });
e.stopImmediatePropagation();
: Ini adalah kaedah yang paling berkuasa. Ia menghalang semua pengendali selanjutnya terikat pada peristiwa yang sama dari menembak, bahkan yang terikat selepas pengendali semasa. Contoh:
$("div a").click(function(e) { // Handler 1 e.stopImmediatePropagation(); }); $("div a").click(function(e) { // Handler 2 - This will NOT fire });
memilih kaedah yang betul:
return false;
e.preventDefault();
e.stopPropagation();
e.stopImmediatePropagation();
Kesimpulan:
mengutamakan kaedah yang lebih bersih, lebih spesifik seperti, preventDefault()
, dan stopPropagation()
lebih stopImmediatePropagation()
. Ingatlah untuk mengelakkan tindakan lalai sebelum keluar dari fungsi anda untuk pengendalian acara yang mantap. return false
Soalan Lazim (Soalan Lazim) mengenai fungsi JQuery's : stop()
, yang berbeza dari kaedah penghentian peristiwa yang dibincangkan di atas. stop()
digunakan untuk menghentikan animasi jQuery. stop()
Q: Apakah tujuan fungsi JQuery's ? stop()
a: stop()
menghentikan animasi jQuery yang berterusan. Ini penting apabila anda ingin mengelakkan animasi animasi atau bertindih.
Q: Bagaimana stop()
berfungsi?
a: stop()
mengambil parameter pilihan: clearQueue
(menghilangkan animasi beratur) dan jumpToEnd
(segera melengkapkan animasi semasa).
q: Bolehkah stop()
dirantai dengan fungsi jQuery yang lain?
a: ya, stop()
mengembalikan objek jQuery, mengaktifkan fungsi chaining.
Q: Apakah perbezaan antara stop()
, finish()
, dan clearQueue()
?
a: stop()
menghentikan animasi; finish()
berhenti dan melengkapkannya; clearQueue()
hanya menghilangkan animasi beratur.
Q: Bagaimana saya berhenti semua
a: Gunakan pemilih : *
(Gunakan berhati -hati!) $('*').stop();
Q: Bolehkah saya menghentikan animasi pada unsur -unsur tertentu?
a: Ya, pilih elemen sasaran sebelum memanggil . stop()
Q: Apa yang berlaku jika saya panggil tanpa parameter? stop()
a: animasi semasa berhenti, tetapi animasi beratur kekal.
q: Bolehkah saya membuat fungsi jeda/resume dengan ? stop()
a: Ya, gabungkan dengan stop()
untuk mencapai ini. animate()
Q: Adakah terdapat batasan untuk ? stop()
a: Ia hanya mempengaruhi animasi yang sedang berjalan atau beratur. Animasi belum dalam barisan tidak terjejas.
Atas ialah kandungan terperinci Hentikan fungsi acara jQuery. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!