我有 5 个可点击的 div 标签,div 显示一个带有数字的黄色方块。当用户点击一个方块时,方块的颜色会发生变化,表明点击的方块是“活动”方块(这部分工作正常)。然后用户应该能够按一个数字。当按下数字时,div中显示的数字应该会变为他们按下的数字!
但是......它不起作用!作为一个 div 属性,我有 onkeypress="(更改标签的 innerHTML 的函数)"。
出于测试目的,我写了 onkeypress="alert('key');" 作为 div 属性来查看它是我的 javascript 函数还是 onKeyPress 本身!但警报甚至不会显示!
我尝试将 onKeyPress 警报放在正文标签中,并且效果很好。它只是div!我还尝试在单击 div 之前和单击 div 之后按一个键!
我也试过onkeydown和onkeyup!
我真的看不出问题!代码如下:
<html>
<head>
<style type="text/css">
#grid {
position:absolute;
padding: 0;
border:0;
width:370px;
height:370px;
}
.box
{
position:absolute;
border: 2px solid Black;
height: 50px;
width: 50px;
vertical-align: middle;
text-align: center;
background-color: yellow;
font-size: xx-large;
color:Navy;
font-family: Arial;
margin:10px;
line-height:1.6;
}
.boxActive
{
background-color:Aqua;
}
</style>
<script type="text/javascript>
function clicked(id) {
reset();
$(id).addClass('boxActive');
}
</script>
<script type="text/javascript" src="JQuery.js"></script>
</head>
<body>
<div id="grid">
<div id="cell_0_0" class="box" onclick="clicked(this);" onkeypress="alert('key');" style="top:0%; left:0%; ">0</div>
<div id="cell_0_1" class="box" onclick="clicked(this);" onkeypress="alert('key');" style="top:0%; left:20%; ">0</div>
<div id="cell_0_2" class="box" onclick="clicked(this);" onkeypress="alert('key');" style="top:0%; left:40%; ">0</div>
<div id="cell_0_3" class="box" onclick="clicked(this);" onkeypress="alert('key');" style="top:0%; left:60%; ">0</div>
<div id="cell_0_4" class="box" onclick="clicked(this);" onkeypress="alert('key');" style="top:0%; left:80%; ">0</div>
</div>
</body>
</html>
当用户单击 div 并按下一个键时,任何人都可以建议如何解决此问题或更改 div 标签的 innerHTML 的方法!
谢谢!!!
亚历克斯