首页 > 解决方案 > 如果使用 innerHTML 创建按钮将不起作用

问题描述

我有这种结构

<button ng-click="something(1)">click!</button>
<div id="place"></div>

something() 在这种情况下有效,但是如果我尝试在 js 代码上使用 innerHTML 制作另一个按钮

   str="<button ng-click=\"something(2)\">click 2!</button>"
   document.getElementById("place").innerHTML = str;

thrn 第二个按钮,由 innerHTML 创建的那个,看起来很正常,但在单击时不调用函数 something()

有没有其他方法可以添加按钮?按钮应在页面运行时按程序生成

非常感谢!

标签: javascripthtmlbutton

解决方案


<script>
        let btn = document.createElement("button");
        btn.innerText = "click2"
        // class
        btn.classList = [];
        // on click function
        btn.onclick = () => {

        }
        document.getElementById("place").innerHTML = "";
        document.getElementById("place").appendChild(btn)
    </script>

推荐阅读