2011-05-04 7 views
0

J'ai créé une étiquette d'étiquette javascript quelque chose comme ceci:Comment ajouter attribut événement balise html avec javascript

var labelTag = document.createElement("label"); 
labelTag.id = i; 
labelTag.className ="myrows"; 
labelTag.innerHTML = data[1]; 

Il est ok, mais je dois ajouter onlick attribut à cette étiquette aussi.

donc j'ai besoin de regarder le résultat somthing comme ceci:

<label id='0' class='myrows' onclick=myfunction('first','second',..)> some info here</label> 

J'essaie avec ceci: labelTag.onclick=myfunction('first',second,...);

Pas d'erreur de code, mais après je lance la page sur le navigateur et voir la source de cette attibute est manquant. Qu'est-ce qui ne va pas?

Merci,

Holian

+0

pouvons-nous essayer avec jQuery ?? – diEcho

Répondre

1
var labelTag = document.createElement("label"); 
labelTag.id = i; 
labelTag.className ="myrows"; 
labelTag.innerHTML = data[1]; 
labelTag.onclick = function() { 
    alert('Clicked'); 
}; 
3

Ce

labelTag.onclick = myfunction('first', 'second', ...); 

affecte la valeur de retour de myfunction-labelTag.onclick.

Vous avez de l'envelopper dans une fonction anonyme si vous voulez passer des paramètres à la fonction:

labelTag.onclick = function() { 
    myfunction('first', 'second', ...); 
}; 

Notez que vous ne verrez aucun changement dans les DOM si vous inspectez.


Pour plus d'informations sur la gestion des événements et les différentes façons de joindre les gestionnaires, je vous recommande de lire le excellent articles on quirksmode.org.

+0

ehh ... je l'ai pensé montré dans la source, votre commentaire fonctionne bien aussi, mais c'était le deuxième ... alors ... merci Maître – holian

+0

@holian: * je l'ai pensé montré dans la source * je ne sais pas Je ne sais pas ce que tu veux dire avec ça. * C'était le deuxième * Et que veux-tu dire par là? –

Questions connexes