JavaScriptに関する質問です。矢印キーのイベントを取ろうと思っています。(IEとfirefoxに対応できれば十分です。)

宜しくお願いします。

----------------------

x = 0;
y = 0;

右を押せばx++
左を押せばx--
上を押せばy++
下を押せばy--

というような簡単なサンプルを作ってもらえれば幸いです。

回答の条件
  • 1人2回まで
  • 登録:2006/12/11 13:58:57
  • 終了:2006/12/11 16:12:43

回答(1件)

id:kimizu No.1

kimizu回答回数726ベストアンサー獲得回数212006/12/11 15:21:58

ポイント60pt

http://homepage3.nifty.com/aya_js/dom/dom05.htm

http://homepage3.nifty.com/aya_js/dom/dom06.htm

このあたりでしょうか。

<HTML>

<SCRIPT Language=""JavaScript></p> <p>x=0;</p> <p>y=0;</p> <p>function funcKey(){</p> <p> // left</p> <p> if( event.keyCode == 37 )</p> <p> x--;</p> <p> // right</p> <p> if( event.keyCode == 39 )</p> <p> x++;</p> <p> // left</p> <p> if( event.keyCode == 38 )</p> <p> y--;</p> <p> // left</p> <p> if( event.keyCode == 40 )</p> <p> y++;</p> <p> alert(x);</p> <p> alert(y);</p> <p>}</p> <p></SCRIPT>

<INPUT TYPE="text" ONKEYDOWN="funcKey();">

</HTML>

id:Bain

改良して、こういう感じになりました。有難うございました。


<script language="JavaScript">
<!--
x=0;
y=0;
function funcKey(evt){
	evt = (evt) ? evt : ((event) ? event : null);
	if( evt.keyCode == 37 )  x--;
	if( evt.keyCode == 39 )  x++;
	if( evt.keyCode == 40 )  y--;
	if( evt.keyCode == 38 )  y++;
	document.getElementById("display").innerHTML = "x= "+x+",y= "+y;
}

function putTxt(){
	document.onkeydown = funcKey;
}

-->
</script>

<input onkeydown="putTxt()" />
<div id="display"></div>

2006/12/11 16:09:21

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません