Lorsque je souhaite empêcher l'exécution d'autres gestionnaires d'événements après le déclenchement d'un certain événement, je peux utiliser l'une des deux techniques. J'utiliserai jQuery dans les exemples, mais cela s'applique également à plain-JS:
1. event.preventDefault()
$('a').click(function (e) {
// custom handling here
e.preventDefault();
});
2. return false
$('a').click(function () {
// custom handling here
return false;
});
Existe-t-il une différence significative entre ces deux méthodes d'arrêt de la propagation des événements?
Pour moi, return false;
c'est plus simple, plus court et probablement moins sujet aux erreurs que d'exécuter une méthode. Avec la méthode, vous devez vous rappeler du boîtier, des parenthèses, etc.
De plus, je dois définir le premier paramètre en rappel pour pouvoir appeler la méthode. Peut-être, il y a des raisons pour lesquelles je devrais éviter de le faire comme ça et utiliser à la preventDefault
place? Quelle est la meilleure façon?
preventDefault
n'empêche pas les autres gestionnaires de s'exécuter. C'est pour çastopImmediatePropagation
.