クリック可能なdivタグが5つあり、divには数字が入った黄色の正方形が表示されます。ユーザーが正方形をクリックすると、正方形の色が変わり、クリックした正方形が「アクティブな」正方形であることを示します(この部分正常に動作します)。次に、ユーザーは数字を押すことができるはずです。数字を押すと、divに表示される数字が押した数字に変わります!
しかし...それは機能しません!div属性として、onkeypress = "(タグのinnerHTMLを変更する関数)"があります。
テストの目的で、onkeypress = "alert('key');"と書きました。それが私のjavascript関数なのか、それともonKeyPress自体なのかを確認するためのdiv属性として!しかし、アラートは表示されません!
onKeyPressアラートをbodyタグに入れてみましたが、うまくいきました。そのちょうど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を変更する方法を誰かが提案できますか?
ありがとうございました!!!
アレックス