javascript动态按钮单击事件

时间:2012-11-28 20:32:11

标签: javascript button

我正在为要删除的表中的每个for做一个动态按钮。我让按钮id有行的键,所以我可以点击查询,知道要删除哪一个。因为我正在为所有按钮分配相同的功能,所以我需要传递被单击到事件处理程序的按钮,这样我就可以从事件处理程序内部查询id。

硬编码时我只是将'this'传递给事件处理程序。制作动态按钮时如何执行此操作?

现在我有:

{
var cell0 = row.insertCell(0);
var btn = document.createElement("input");
btn.type = "button";
btn.id = "btnHistorySelect_" + roundHdr[i].id;              // append the id to the name so we can get it when select button is clicked so we know what round to select as current
btn.value = "Set Current";
btn.onclick = btnHistorySelect;
cell0.appendChild(btn);
}


function btnHistorySelect() {
}

调用事件处理程序,但我不知道是什么按钮进行了点击。

4 个答案:

答案 0 :(得分:4)

您可以使用this.idevent.target.id属性来获取发起活动的按钮的ID。

function btnHistorySelect(event) {

    var id = this.id;

         or
   // var elem = event.target;
   // var id = elem.id

}

因为您正在分配函数引用,所以函数内的 this 对应当前元素是个问题。

答案 1 :(得分:3)

function btnHistorySelect(event) {
   alert(event.target); // Will alert the actual element clicked.
}

答案 2 :(得分:2)

如果您使用此

,则无需知道或指定ID

答案 3 :(得分:2)

HTML输入按钮元素在btnHistorySelect函数中通过this变量。