javascript - 向按钮的 onclick 添加一个带有参数的函数

标签 javascript html

我在尝试设置一行时遇到问题,当按下删除按钮时,该行将从表中删除。当我如下所示设置 onclick 方法时,它将在创建该行时自动删除该行。我假设它正在调用该函数

我发现您应该在分配此类值时删除括号,这会导致问题。但由于显而易见的原因,我需要行 id 才能删除该行。

name = "thomas";
foo = "foo";
bar = "bar";

// Create a new row
var row = table.insertRow();
row.id = name;

// Create cells with requested information
row.insertCell().innerText = name;
row.insertCell().innerText = foo;
row.insertCell().innerText = bar;
var removeButton = document.createElement("BUTTON");
removeButton.innerHTML = "Remove";
removeButton.onclick = deleteRow(row.id);
var removeButtonCol = row.insertCell();
removeButtonCol.appendChild(removeButton);


function deleteRow(rowID)
{
    var row = document.getElementById(rowID);
    row.parentNode.removeChild(row);
}

那么我该如何解决这个问题呢?我不知道如何为需要括号的函数设置 onclick,也不知道如何在按下属于 rwo 的按钮时以更简单的方式传递行 id

最佳答案

所以事实证明我应该使用事件监听器而不是 onclick 方法。

EG,我们执行 onclick 的地方:

var removeButton = document.createElement("BUTTON");
removeButton.innerHTML = "Remove";
removeButton.addEventListener('click', function () {
     deleteRow(row.id)
});

这很好用

关于javascript - 向按钮的 onclick 添加一个带有参数的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43949577/

相关文章:

HTML/CSS 弹出窗口淡入淡出

javascript - 在发布到 API 之前更改数组 javascript 中的一些值

javascript - 什么时候不在 html/css/javascript 的命名约定中使用连字符?

html - div 元素和它在 chrome 中自己的边框之间的垂直线

html - 响应式网页设计,在移动设备上拉起键盘会扰乱设计

html - 在 Html5 中,我可以使用表单重置按钮来重置可见字段吗

javascript - 使用 Node.js 将 http post 请求的异步响应获取到变量中

javascript - jQuery 显示隐藏多个 Div 不起作用

javascript - 如何让谷歌表单回复邮件

javascript - 字符串到 Ivalue 的转换