11
votes

Avantages et inconvénients de la prévention de l'action d'événement par défaut au début ou à la fin de la fonction JavaScript

Dans l'échantillon de code JavaScript suivant: xxx

Que sont des avantages et des inconvénients de la défaillance de l'action au début ou à la fin de la fonction? - supposer que le cas de vouloir inconditionnellement de l'empêcher à la fin. Y a-t-il des raisons techniques de choisir une façon?

Surfer sur Internet, je n'ai trouvé que Une référence -Dead blog, désolé pour Google Le lien de cache - et les points qui empêchant l'action par défaut au début éviteront l'action qui se produit au cas où la fonction JS se bloque.

note : j'ai utilisé jQuery dans mon exemple Juste pour la familiarité, la question ne concerne pas JQuery, la réponse du mode de manutention de l'événement classique sera la même.


3 commentaires

J'utilise généralement Retour False à la fin et empêche la valeur par défaut au début, ne sez même pas pourquoi. signifiait de toute façon


bw bon sujet ici ici Stackoverflow.com/questions/1357118/...


@ Dmi3y j'ai déjà connu l'article, mais bon point;)


3 Réponses :


11
votes

Je mets mon code empêchant le début de la raison pour laquelle vous avez déclaré. S'il y a une erreur plus tôt dans le JS plus tôt dans la fonction, l'action par défaut aura déjà été évitée. Cela peut être le comportement souhaité en production, mais peut également aider à déboguer votre code de développement, en considérant: xxx

Si une erreur devait se produire, la page pourrait rafraîchir ou suivre le Href de l'ancre avant Vous pouvez lire les informations de débogage. La commutation de l'action en haut s'assurera que vous puissiez lire la sortie dans la console.

Modifier Comme Axel souligne dans les commentaires, un autre avantage est que vous grocez immédiatement que le code remplace l'action par défaut et ne le complète pas.


5 commentaires

C'est un bon point, dans d'autre part, j'ai pensé que la prévention de l'événement au démarrage peut ajouter une expressivité à la fonction, car une vue simple vous dit que vous ne voulez pas l'action par défaut et que vous ferez certains Stuff, l'autre façon, vous devez aller à la fin pour savoir que le fait important de la manipulation des événements ...


@Axel un autre grand point. Je vais mettre à jour la réponse pour refléter cela.


JSBIN.COM/1/EDIT Voici un exemple peu stupide, mais encore un autre plus Pour prévenir la valeur par défaut au sommet


Oh, je ne pense pas que ce soit stupide, c'est très important. L'évacuation par défaut en haut de la fonction permet de déplacer / d'ajouter / supprimer des affirmations de retour sans casser le flux de code, très utile! Merci @ dmi3y. Plus d'achèvement de la réponse.


@ dmi3y, s'il vous plaît ajouter à votre réponse la chose que vous avez souligné pour la marquer enfin comme parfaite réponse



0
votes

Vous n'avez aucune différence, la file d'attente de messages est piégée dans votre fonction.


0 commentaires

3
votes

L'appel final où mettre preventDefault () est totalement sur le choix du développeur. Bien que, comme il est déjà signalé dans la plupart des cas, le meilleur choix est de mieux le placer au sommet du code pour éviter un comportement imprévisible comme celui-ci: xxx

mais doit admettre qu'il pourrait se produire que vous avez conserver Action par défaut Selon quelque chose, comme mon point que c'est une situation rare, mais que vous ne pouvez pas empêcher la défaillance de la valeur par défaut en bas et utilisez le retour avec certains si la condition IF.


0 commentaires