好的,我试图用HTML创建一个游戏,但我已经在这段代码中遇到了障碍:
编辑:以下内容发生在<script>
代码中。
var c = document.createElement("button");
c.innerHTML = "Explore";
c.id = "explore";
c.onclick = "explore()";
para.appendChild(c);
执行上面的代码时,会创建一个显示&#34; Explore&#34;的<button>
元素,但点击后,它不会运行explore()
功能。请帮忙。
注意:para
是指<div>
元素。
我还将完整代码作为代码段包含在内,因为它很简短,用于测试目的。
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div id="buttons">
<button id="bgn", onclick="begin()">BEGIN</button>
</div>
<script>
var name;
var maxHp=10;
var hp=10;
var lvl=1;
var exp=0;
var dmg=1;
var mp=5;
var equip=[null,null,null,null];
var inven=[];
var skills=[];
var spells=[];
function begin() {
var q = confirm("Are you sure?");
if(q) {
naming();
}
};
function naming() {
var q = prompt("What is your name","");
if(q!==null) {
name=q;
alert("Ok, I'll call you "+name+"!");
var para=document.getElementById("buttons");
var child=document.getElementById("bgn");
para.removeChild(child);
var c = document.createElement("button");
c.innerHTML = "Explore";
c.id = "explore";
c.onclick = "explore()";
para.appendChild(c);
}
}
function explore() {
alert("You have explored!");
}
</script>
</body>
</html>
&#13;
答案 0 :(得分:1)
您的c.onclick被分配给字符串而不是函数。试试这样:
var c = document.createElement("button");
c.innerHTML = "Explore";
c.id = "explore";
c.onclick = explore;
para.appendChild(c);