我用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
答案 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');
};