Javascript,以编程方式添加onclick事件

时间:2012-11-05 09:28:45

标签: javascript events javascript-events

如何以编程方式在HTML中为标记添加onclick事件?

我希望能够点击链接,并且附加到javascript函数的onclick事件会对另一个标记生效。

这是我到目前为止所做的:

var table = document.getElementById(tableID);
var rowCount = table.rows.length;
var row = table.insertRow(rowCount); 
var cell1 = row.insertCell(0); 
var element1 = document.createElement("input");
element1.type = "text";
element1.id="List["+num+"].id";
element1.name="List["+num+"].id";
element1.onclick="javascript:CalCal()";
cell1.appendChild(element1);

我想在onClick事件上调用javascript函数CalCal()。这可能吗?

3 个答案:

答案 0 :(得分:26)

但请记住,从版本9开始,IE支持addEventListener。要支持旧版本的IE,您可以使用类似的东西:

if (element1.addEventListener) {  // all browsers except IE before version 9
  element1.addEventListener("click", CalCal, false);
} else {
  if (element1.attachEvent) {   // IE before version 9
    element1.attachEvent("click", CalCal);
  }
}

答案 1 :(得分:11)

是的,您可以在javascript中以编程方式添加onclick事件:

element1 = document.getElementById("your_tag_id");
element1.addEventListener("click", CalCal)

这会将onClick事件附加到id =“your_tag_id”的标记。

您还可以删除onclick事件,如下所示:

element1.removeAttribute("click");

更多https://developer.mozilla.org/en-US/docs/DOM/element.addEventListener

答案 2 :(得分:1)

尝试

element1.onclick=CalCal;

代替:

element1.onclick="javascript:CalCal()";