8
votes

Puis-je avoir onclick () événement pour

à

Tags?

Je veux avoir onclick () événement sur

à
(n'importe laquelle des balises de tête) pour exécuter quelques javascript. S'il vous plaît donnez-moi un exemple d'événement onclick () dans

qui montre un message d'alerte ().

Merci:)


0 commentaires

5 Réponses :


12
votes

C'est ce qu'on appelle le modèle d'enregistrement de l'événement en ligne. Et oui, vous pouvez em> faire plus ou moins ce que vous demandez après.

mais s'il vous plaît ne faites pas cela. strong> em> p>

C'est ancien et fiable, oui. Mais l'inconvénient est qu'il vous oblige à mettre vos comportements JS dans votre structure XHTML. P>

Vous êtes beaucoup mieux à utiliser l'IDIOM suivant: P>

  $(":header").click(function(){
     alert('Handler for .click() called.')
   });


1 commentaires

En général, quelque chose comme ceci (ou l'un des autres exemples postés) est presque toujours préférable à enregistrer des comportements et des événements dans votre HTML. C'est beaucoup plus maintenu.



10
votes

Si vous êtes prêt à utiliser jQuery, il est facile à manipuler.

$('h1').click(function(){
    //do something on click
});

$('h2').click(function(){
    //do something on click
});

//Etc.


0 commentaires

1
votes

Si vous ne voulez pas utiliser une bibliothèque comme JQuery, voici une façon de le gérer: xxx

exemple: http://jsfiddle.net/redler/hvvvq/

Comme @shadow Wizard indique dans les commentaires, c'est-à-dire utilise attachevente < / Code> Au lieu de AddeventListener , afin de faire fonctionner ce travail dans tous les navigateurs, vous aurez besoin d'un code qui fonctionne dans les deux sens. Si vous souhaitez éviter le trou de lapin des différences de navigateur et de la verbosité, la même chose peut être accomplie dans jQuery comme celle-ci, par exemple: xxx

encore plus concis, grâce à @ kobi's commentaire, est : en-tête : xxx

Je recommanderais d'aller avec une bibliothèque de votre choix pour faire ce genre de chose beaucoup plus facile.


3 commentaires

Vous pouvez également utiliser : en-tête , ce que je ne fais pas pense que j'ai jamais trouvé utile jusqu'à aujourd'hui.


Le code ne fonctionne pas sur IE qui ne prend pas en charge le code de navigateur Addeventenlistener - Cross Browser sera: si (ces [n] .addeventlistener) ces [n] .addeventlistener ("Cliquez sur" () {alerte ("Bonjour '); }, faux); sinon si (ceux-ci [n] .attachevent) ceux-ci [n] .attachevent ('onclick', fonction () {alerte ("hello ');}); voici le lien mis à jour: jsfiddle.net/hvvvq/1


@Kobi, bon. Celui-ci ne me survient jamais. @Shadow, oui, ce n'est pas bon pour IE. J'ai pensé à jeter dans la version IE à mesure que vous décrivez correctement, mais j'ai ensuite compris que je recommanderais que l'OP envisage de considérer une bibliothèque qui résume toute cette douleur. J'ai modifié la réponse avec une meilleure clarté sur la question IE.



0
votes

code: xxx


0 commentaires

0
votes

Utiliser le mot-clé "Fonction" pour créer une fonction () et n'importe quel code de Logic se trouve dans les balises de script.

<html>
        <head> 
            <title>Understanding Tags in JS </title>
        </head>
        <body>
            <h1> Welcome to JavaScript Tutorial </h1>
            <h2 id = 'h2tag' onclick = "clickedMe()"> Click me to change </h2>
            <script>
                function clickedMe() {
                document.getElementById('h2tag').innerHTML = 'Alas ! I am clicked!'
            }
            </script>
        </body>
    </html>


1 commentaires

Ajouter une description Ce serait utile qu'un morceau de code.