将onclick事件添加到动态添加的按钮?

新手上路,请多包涵

我在 html 中动态添加一个按钮,如下所示: 单击该按钮我想调用一个 Javascript 函数:

 var but = document.createElement("button");

but.value="delete row";

but.setAttribute("onclick","callJavascriptFunction()");
//this is not working

but.onclick="callJavascriptFunction()"
//this is also not working

document.getElementById("but").onclick="callJavascriptFunction()"
//this is also not working

but.id="but"+inc;

有什么方法可以解决这个问题吗?请帮助我。在此先感谢

原文由 sanjeev 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 280
2 个回答

尝试这个:

 but.onclick = callJavascriptFunction;

或者通过用另一个元素包裹它来创建按钮并使用 innerHTML:

 var span = document.createElement('span');
span.innerHTML = '<button id="but' + inc +'" onclick="callJavascriptFunction()" />';

原文由 jerjer 发布,翻译遵循 CC BY-SA 3.0 许可协议

从您的表达式中删除不起作用的 () 将获得您需要的预期结果。

 but.setAttribute("onclick",callJavascriptFunction);
but.onclick= callJavascriptFunction;
document.getElementById("but").onclick=callJavascriptFunction;

原文由 Brett Walker 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题