如何使用javascript将事件属性添加到html标记

时间:2011-05-04 10:29:18

标签: javascript

我用javascript创建了一些标签标签:

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

没关系,但我也需要在这个标签上添加onlick属性。

所以我需要看一下这样的结果:

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

我试着用这个:labelTag.onclick=myfunction('first',second,...);

没有代码错误,但是在浏览器上运行页面并查看源代码后,此属性丢失了。  怎么了?

谢谢,

Holian

2 个答案:

答案 0 :(得分:3)

这个

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

myfunction返回值分配给labelTag.onclick

如果要将参数传递给函数,则必须将其包装到匿名函数中:

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

请注意,如果您检查DOM,则不会看到任何更改。


有关事件处理和附加处理程序的各种方法的更多信息,建议您阅读excellent articles on quirksmode.org

答案 1 :(得分:1)

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