【发布时间】:2016-04-12 15:31:54
【问题描述】:
所以我正在创建一个基于 html 的游戏。我一直在测试,我只是想不出一件事。这是我的代码:
<button onclick="test()">
Click Me!
</button>
<script>
function test(){
var btn = document.createElement("BUTTON")
var name = document.createTextNode("Button")
btn.appendChild(name);
document.body.appendChild(btn);
}
</script>
所以这段代码确实有效。但是,添加的按钮除了在单击时改变颜色之外没有任何作用。我怎样才能使它添加的按钮运行一个功能?
编辑:建议后,我有这个代码:
<button onclick="test()">
Click Me!
</button>
<script>
function test(){
var btn = document.createElement("BUTTON")
var name = document.createTextNode("Button")
btn.appendChild(name);
document.body.appendChild(btn);
btn.onclick = test();
}
</script>
编辑 2: 我现在可以使用它了。
<button onclick="test()">
Click Me!
</button>
<script>
function test(){
var btn = document.createElement("BUTTON")
var name = document.createTextNode("Button")
btn.appendChild(name);
document.body.appendChild(btn);
btn.onclick = function(){
var btn = document.createElement("BUTTON")
var name = document.createTextNode("Button")
btn.appendChild(name);
document.body.appendChild(btn);
}
}
</script>
编辑 3: ...还有一件事不起作用。我将代码更新为:
<button onclick="test()">
Click Me!
</button>
<script>
function test(){
var btn = document.createElement("BUTTON")
var name = document.createTextNode("Click Me!")
btn.appendChild(name);
document.body.appendChild(btn);
btn.onclick = function(){
var btn = document.createElement("BUTTON")
var name = document.createTextNode("Click Me!")
btn.appendChild(name);
document.body.appendChild(btn);
btn.onclick = test()
}
}
</script>
但是当我单击从原始按钮创建的按钮时,它会创建 2 而不是只有 1,这正是我想要的。此外,两者中的第一个什么都不做。我该如何解决这个问题?
【问题讨论】:
-
给按钮添加点击事件...
-
@DimensionalDrift 看看我的答案和小提琴。如果您有任何问题,请告诉我
-
也许您的问题可以通过删除您的解决方案并为其创建一个答案来改进,毕竟这是一个
Question=] 您仍然可以保留已接受的答案,您自己的答案不需要接受答案以对人们有帮助。
标签: javascript html button