39 votes

Quelle est la différence entre utiliser onclick de jQuery et l'attribut onclick?

Quelle est la différence entre les deux éléments HTML suivants (excuses s'il y a des fautes de frappe car je tape ceci à main levée)?

Utilisation de jQuery:

 <script type="text/javascript">
    $(document).ready(function() {
        $("#clickme").click(function() {
            alert("clicked!");
        });
    });
</script>

<a id="clickme" href="javascript:void(0);">click me</a>
 

Ne pas utiliser jQuery:

 <a id="clickme" href="javascript:void(0);" onclick="alert('clicked!');">click me</a>
 

55voto

Adam Bellaire Points 42797

Une grande différence est que jQuery événements sont gérés dans un registre, qui est analysé sur l'événement click. Fondamentalement, cela signifie que vous êtes autorisé à attribuer plusieurs rappels, et les ont déclenchés dans l'ordre dans lequel ils ont été enregistrés:

<script type="text/javascript">
    $(document).ready(function() {
        $("#clickme").click(function() {
            alert("clicked!");
        });
        $("#clickme").click(function() {
            alert("I concur, clicked!");
        });
    });
</script>

Ils seront tous deux être invoquée sur l' click événement, dans cet ordre. Le "vrai" onClick événement est remplacé par du jQuery registre système. La vanille de la structure du document, sans un système comme jQuery en place, il ne peut être une onClick événement.

8voto

palehorse Points 8268

C'est également une séparation plus nette du code de l'interface utilisateur (HTML) et du code logique (JavaScript). Cela rend la lecture un peu plus facile.

6voto

orip Points 28225

L'une des différences est que l'ajout de gestionnaires avec click jQuery ne supprime pas les gestionnaires précédents.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X