所以我对编码还是个新手,当我发现一些东西可能是我有点愚蠢并且不完全理解发生了什么但我想我应该来这里问时,我只是编写了相当随机的东西,为什么创建的生成按钮没有将“test”记录到控制台,但原始按钮却记录了“test”,我做错了什么?
function newButton() {
var btn = document.createElement("button");
btn.id = "button";
var btnText = document.createTextNode("Click me");
btn.appendChild(btnText);
document.body.appendChild(btn);
document.getElementById("button").onclick = console.log("test");
}
<button id="addButton" onclick="newButton();">Add a button</button>
非常感谢
最佳答案
function newButton() {
var button = document.createElement("button");
button.innerHTML = "Click Me";
// you have a reference to the button here, so add a handler to it
button.addEventListener('click', () => console.log('test'));
document.querySelector('#newButtons').appendChild(button);
}
<button id="addButton" onclick="newButton();">
Add a button</button>
<div id="newButtons"></div>
关于javascript - 我向新按钮添加了 onclick 属性,但它仅适用于旧按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45313390/