这是我的代码:
<html>
<head>
<title>My Game Title Goes Here!</title>
<script type="text/javascript">
function startGame(){
document.getElementById("2").innerHTML = ('Testing!');
}
document.body.onload = keyListener(){
document.getElementById("1").onkeypress = startGame;
}
</script>
</head>
<body>
<div class="title" name="Game Title" id="0">Game Title</div>
<div tabindex="0" class="gamecontainer" name="Game Container" id="1">
Press any key to start.
</div>
<div class="gamemonitor" name="Game Monitor" id="2">
Game Monitor:
</div>
</body>
</html>
我没有像我期望的那样工作(我正在使用Google Chrome)。
只有在我直接运行它时才有效:
<div tabindex="0" class="gamecontainer" name="Game Container" id="1" onkeypress="document.getElementById('2').innerHTML = ('Testing!')">
Press any key to start.
</div>
<div class="gamemonitor" name="Game Monitor" id="2">
Game Monitor:
</div>
我检查了我的代码很多次,我找不到任何明显的错误,如错别字或任何东西。如果这是问题,那么我很抱歉浪费你的时间,但这真的是错误'我。
答案 0 :(得分:2)
Element IDs can't start with a number,这几乎肯定会对你的问题做出贡献。将HTML和JS中的ID更改为以字母开头。
其次,keyListener
行应该是这样的:
window.onload = function(){
document.getElementById("newId").onkeypress = startGame;
}
答案 1 :(得分:1)
更改:
document.body.onload = keyListener(){
document.getElementById("1").onkeypress = startGame;
}
要:
document.body.onload = function(){
document.getElementById("1").onkeypress = startGame;
}
并且,id
不应以数字开头,因为它是无效的HTML
Chrome似乎克服了这个错误,但不应该使用它。
将代码移至<body>
标记或使用window.onload
document.body
上方不存在<body>
。
答案 2 :(得分:1)
document.body
没有onload
属性。它应该是window.onload
。
window.onload = function(){
document.getElementById("1").onkeypress = startGame;
}
答案 3 :(得分:0)
我认为ID不能以数字开头。
答案 4 :(得分:0)
尝试修复“onkeypress”属性。你的报价搞砸了。
onkeypress="document.getElementById('2').innerHTML = ('Testing!')"