Je souhaite lier un événement click à tous les <p>
mais cela ne semble pas fonctionner correctement. Lorsque j'exécute le script, je reçois instantanément trois alertes. Je veux seulement les obtenir en cliquant sur l'un des trois <p>'
s.onClick ne fonctionne pas correctement sur la balise p
Quelqu'un peut-il me dire ce que je fais mal?
Editer: C'est ce à quoi ça ressemble. Le code HTML est juste comme il se doit: <p class="special">text text text</p>
etc
(function() {
var myFunction = function (theP) {
alert(theP.id)
}
window.onload = function() {
var pTags = document.getElementsByTagName('p'),
pLength = pTags.length,
i;
for (i = 0; i < pLength; i += 1) {
if(pTags[i].className == 'special'){
pTags[i].onClick = myFunction(pTags[i]);
}
};
}
})();
Ps. Je ne peux pas utiliser jQuery atm
Peut-on voir un extrait de votre code html? Vous n'avez pas de balises p imbriquées, n'est-ce pas? –
Une fois que vous avez corrigé le problème de fonction mentionné par scraimer, ce code ne fonctionnera toujours pas dans tous les navigateurs. Envisagez de vous lier à l'approche présentée sur http://www.quirksmode.org/js/eventSimple.html. – Joel
@ Alan, j'ai édité mon poste voir^ – patad