web-dev-qa-db-ja.com

Javascript、onclickイベントをプログラムで追加

プログラムで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()を呼び出したい。これは可能ですか?

17
nidhi

ただし、addEventListenerはIEバージョン9からのみサポートされていることに注意してください。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);
  }
}
28
mike

はい、次のようにJavaScriptでonclickイベントをプログラムで追加できます:

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

これにより、id = "your_tag_id"のタグにonClickイベントが添付されます。

次のようにonclickイベントを削除することもできます。

element1.removeAttribute("click");

https://developer.mozilla.org/en-US/docs/DOM/element.addEventListener の詳細

12
Dan Dascalescu

試して

element1.onclick=CalCal;

代わりに:

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