Ketika saya ingin mencegah penangan acara lain mengeksekusi setelah peristiwa tertentu dipecat, saya dapat menggunakan salah satu dari dua teknik. Saya akan menggunakan jQuery dalam contoh, tetapi ini berlaku untuk plain-JS juga:
1. event.preventDefault()
$('a').click(function (e) {
// custom handling here
e.preventDefault();
});
2. return false
$('a').click(function () {
// custom handling here
return false;
});
Apakah ada perbedaan yang signifikan antara kedua metode menghentikan propagasi acara?
Bagi saya, return false;
lebih sederhana, lebih pendek dan mungkin lebih sedikit kesalahan daripada mengeksekusi metode. Dengan metode ini, Anda harus mengingat casing yang tepat, tanda kurung, dll.
Juga, saya harus menentukan parameter pertama dalam panggilan balik untuk dapat memanggil metode. Mungkin, ada beberapa alasan mengapa saya harus menghindari melakukannya seperti ini dan menggunakannya preventDefault
? Apa cara yang lebih baik?
preventDefault
tidak tidak mencegah kidal lainnya dari mengeksekusi. Itu untuk apastopImmediatePropagation
.