【发布时间】:2013-05-29 14:14:44
【问题描述】:
我有一个 TABLE,每个 TABLEROW 都有一个带有 onclick deleteRow(rowIndex) 的 div,其中 rowIndex 是应该被点击的行的索引。
问题是,每当我尝试像这样主动更改其中一行的 onclick 时,它都会吓坏并在我更改后立即自动调用它:
row.onclick = deleteRow(rowIndex);
我也在使用 Prototype.js。
这是我的处理程序:
deleteRow = function(rowIndex) {
var table = $('tableElmt');
table.each(function(row, index) {
if(index == rowIndex)
row.onclick = deleteRow(index);
})
}
当我像这样更改 onclick 时,它会立即再次调用 deleteRow 并进入循环,我不知道为什么。
我认为这与我在 deleteRow() 中调用 deleteRow() 的方式有关,尽管也可能是我错误地更改了“onclick”。
我也试过这个来处理对表格行的点击:
row.observe('click', deleteRows(rowIndex));
但它做同样的事情。此外,这与 html 中所有行已经存在的 onclick() 事件处理程序冲突,我不确定如何处理。
如何在 onclick() 事件处理程序中更改 onclick() 事件处理程序?
【问题讨论】:
标签: javascript onclick prototypejs dom-events