-1
我试图做的是在不需要它们时添加和删除表格中的文本框。当用户键入文本框时,该功能需要执行。该页面加载了几个文本框,这个函数作为一个偶数监听器。 代码一直给我带来麻烦,所以我在函数的开头放置了一个断点(GC开发人员工具),并在文本框中键入。会发生什么就行了:eventlistener在我将它添加到javascript时触发
input.addEventListener("keypress", updateTextBox(TableName, input.id));
执行返回到函数的开头!
function updateTextBox(TableName, element) {
var numCells = document.getElementById(TableName).rows.length - 1;
var lastTxt = document.getElementById(TableName + numCells);
var curNum = element.id.replace(/^\D+/g, '');
if (curNum != numCells && element.text == "" && lastTxt.text == "") {
document.getElementById(TableName).deleteRow(numCells);
}
else if (element.text != "" && lastTxt.text != "") {
var input = document.createElement("input");
input.type = "text";
nextNum = numCells + 2;
input.id = TableName + nextNum;
input.addEventListener("keypress", updateTextBox(TableName, input.id));
newRow = document.getElementById(TableName).insertRow();
newCell = newRow.insertCell();
newCell.appendChild(input);
}
}
甜,非常感谢。你能解释为什么这个工作? – bob 2014-10-08 18:03:35
@bob先用'()'调用函数,但现在你只是传递一个函数给它。不要忘记将它标记为答案,如果它帮助:) – 2014-10-08 18:07:13
等待,甚至处理程序似乎不会被添加? – bob 2014-10-08 18:09:08