Pourquoi son recommandé de ne pas utiliser onclicks dans votre HTML.Use Event Handlers dans votre fichier JS est considéré comme la meilleure pratique ???Pourquoi son recommandé ne pas utiliser onclicks dans votre HTML.Use Event Handlers dans votre fichier JS
Répondre
Vous ne pouvez avoir qu'un seul gestionnaire avec on*
.
Mais aucune limite sur le nombre de gestionnaires que vous pouvez attacher au même élément pour le même événement lorsque vous utilisez le modèle d'enregistrement d'événement. En outre, il aide à consolider tous les comportements au sein de Javascript et ne pas saupoudré dans le code de base. Remarque: vous pouvez également associer des événements en utilisant * dans votre Javascript. Le modèle d'enregistrement d'événement DOM a été introduit pour résoudre ce problème. Voir cet exemple pour plus d'informations:
// HTML
<p id="somePara" onclick="alert('First')">...</p>
// Javascript
var el = document.getElementById("somePara");
el.onclick = function() {
alert("Second");
};
el.onclick = function() {
alert("Third");
};
// when <p> is clicked, it alerts "Third", overwriting the first two handlers.
Au lieu de cela, une meilleure approche consiste à utiliser l'enregistrement d'événement. En reprenant l'exemple ci-dessus (ce qui est juste pour la démonstration et ce n'est pas cross-browser),
el.addEventListener("click", function() {
alert("Un");
});
el.addEventListener("click", function() {
alert("Dos");
});
// clicking on the <p> will now alert "Third", "Un", and "Dos".
Il sépare votre code de votre contenu et le balisage. Le nettoyeur que la séparation est, le facile à maintenir, surtout lorsque votre équipe est supérieure à 1.
En outre, il contribue à la séparation des préoccupations. HTML est la structure de votre page, mais Javascript est le "comportement". Séparer la structure du comportement permet plus de réutilisation de code et de facilité de maintenance. (C'est aussi pourquoi la présentation [css] est séparée de la structure)
Il favorise une séparation nette entre le design (HTML, CSS) et l'action (javascript). Pour la même raison que son meilleur pour garder le code côté serveur séparé du code d'affichage.
- 1. Event Handlers synchronisation
- 2. C#, Event Handlers et Threading
- 3. Quel est votre Lisp Emacs recommandé?
- 4. Utiliser FXCop dans votre projet
- 5. Fixation et refixer Event Handlers
- 6. MFC Event Handlers
- 7. Comment utiliser IHardwareService dans votre code?
- 8. se referer du site qui demande votre js fichier
- 9. Utiliser votre propre API pour construire votre site
- 10. Où mettre votre JS lorsque vous utilisez un IFrame
- 11. Que mettre dans votre ViewModel
- 12. Contenu de votre fichier .procmailrc
- 13. Pour les applications Rails, le maintien de votre fichier environment.rb dans votre référentiel semble non sécurisé
- 14. Comment utiliser ffmpeg pour qu'il ne soit pas nécessaire d'inclure ses dll dans votre dossier d'application?
- 15. Comment mettre votre application sur votre iphone?
- 16. Licence de votre code dans Mono
- 17. Le son ne fonctionne pas dans l'appareil
- 18. Quelle est votre méthode de répertoires avec dans une racine
- 19. pourquoi ne peux pas je le fais dans js
- 20. Utilisation d'un '.' dans votre nom de clé dans MongoDB (PyMongo)
- 21. Quel est votre processus de publication pour votre application commerciale?
- 22. Pourquoi le chaînage d'actions dans Struts2 n'est-il pas recommandé?
- 23. Besoin d'aide pour comprendre flux de contrôle avec Event Handlers
- 24. injection de dépendances dans votre Singleton
- 25. Qu'avez-vous dans votre classe Model?
- 26. Comment gérez-vous un événement déclenché dans votre classe à l'intérieur de votre propre classe?
- 27. Comment renommer votre application dans itunesconnect?
- 28. Lignes de code dans votre projet VB
- 29. Quel est votre plugin préféré dans Emacs?
- 30. MySQL "une erreur dans votre syntaxe SQL"
Pensez-vous qu'il existe un cas où le modèle sur * est bon/doit/doit être utilisé/préféré au modèle d'écoute? –
Si vous écrivez des sites très simples avec très peu de pages, et avez besoin de le faire rapidement, alors pourquoi pas. – Anurag