Belirli bir olay tetiklendikten sonra diğer olay işleyicilerin yürütülmesini engellemek istediğimde, iki teknikten birini kullanabilirim. Örneklerde jQuery kullanacağım, ancak bu düz JS için de geçerlidir:
1. event.preventDefault()
$('a').click(function (e) {
// custom handling here
e.preventDefault();
});
2. return false
$('a').click(function () {
// custom handling here
return false;
});
Olay yayılımını durdurmanın bu iki yöntemi arasında önemli bir fark var mı?
Benim için, return false;
bir yöntemi uygulamaktan daha basit, daha kısa ve muhtemelen daha az hataya açıktır. Yöntemle, doğru kasa, parantez vb.
Ayrıca, yöntemi çağırmak için geri arama ilk parametre tanımlamak zorunda. Belki de böyle yapmaktan kaçınmam ve preventDefault
bunun yerine kullanmamın bazı nedenleri var mı? Daha iyi yol nedir?
preventDefault
yok değil yürütülmesini diğer elini engeller. BununstopImmediatePropagation
için.