C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 46 を表示中)
■24913 / )  Re[1]: TextChangedイベントとjavascript
□投稿者/ ま (122回)-(2008/09/11(Thu) 23:50:10)
2008/09/11(Thu) 23:51:14 編集(投稿者)
本当にカーソル移動していますか?
外部js
function MoveFocus(prev, next) {

   if (window.event.keyCode == 40 || window.event.keyCode == 13) {
      next.focus();
   } else if (window.event.keyCode == 38) {
      prev.focus();
   }
}

以下のようにやればカーソル移動しますが・・・・

既存のコントロールに仕掛けを組み込む場合には、後先考えずにいきなり
コード仕込んで動けばいいのですが、動かなくなったり期待する動作を
しなかった場合など何が悪いのか途方に暮れてしまいます。


一度まともに仕様に見合うコードを手書きで作りこんでから本物に実装した
方が良いですね。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD> 
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<TITLE></TITLE>
<script>
function Move(p, n) {

	var s = null;
	var c = "white";
	if (event.keyCode == 40 || event.keyCode == 13) s = n, c = "orange";
	else if (event.keyCode == 38) s = p, c = "pink";
	else ;
	
	setTimeout(function(S,C,E) {
		return function() {
			if (S) {
				var o = document.getElementById(S);
				o.style.backgroundColor= C;
				o.focus();
			}
			else {
				E.focus();
				E.style.backgroundColor = C;
			}
		}
	}(s, c, event.srcElement), 1);
}
</script>
</script>
</HEAD>
<BODY>

A<input type=text id="T1" onkeydown="Move(null, 'T2')"/>
B<input type=text id="T2" onkeydown="Move('T1', 'T3')"/>
C<input type=text id="T3" onkeydown="Move('T2', null)"/>


</BODY>
</HTML>


返信 編集キー/


管理者用

- Child Tree -