WEBアプリでファンクションキーを使う

<script type="text/javascript">
<!--
function estop(e) {
	// Mozilla(Firefox, NN) and Opera 
	if (e != null) {
		// イベントの上位伝播を防止 
		e.preventDefault(); 
		e.stopPropagation(); 
	// Internet Explorer 
	} else {
		// イベントの上位伝播を防止 
		event.returnValue = false; 
		event.cancelBubble = true; 
		event.keyCode = 0;
	}
	return true;
}

document.onkeydown = function(e) {
	var shift, ctrl; 

	// Mozilla(Firefox, NN) and Opera 
	if (e != null) {
		keycode = e.which;
		tagname = e.target.tagName.toUpperCase();
		ctrl    = typeof e.modifiers == 'undefined' ? e.ctrlKey : e.modifiers & Event.CONTROL_MASK; 
		shift   = typeof e.modifiers == 'undefined' ? e.shiftKey : e.modifiers & Event.SHIFT_MASK; 

	// Internet Explorer 
	} else { 
		keycode = event.keyCode; 
		tagname = window.event.srcElement.tagName.toUpperCase();
		ctrl    = event.ctrlKey; 
		shift   = event.shiftKey; 
	} 

	switch(keycode){
	case 27 :
		if ( tagname == "TEXTAREA" ) {
			alert('Escキーをキャンセルしました');
			estop(e);
		}
		break;
	case 112 : //F1
		location.href = "http://yahoo.co.jp/";
		estop(e);
		break;
	case 113 : //F2
		location.href = "http://www.google.co.jp/webhp?complete=1&hl=ja";
		estop(e);
		break;
	case 116 : //F5
		location.href = "http://www.excite.co.jp/";
		estop(e);
		break;
	case 121 : //F12
		location.href = "http://www.excite.co.jp/";
		estop(e);
		break;
	default :
		//デバック用
		//alert(keycode + 'が押されました');
		return true;
	}
	return false;
}

//-->
</script>
The following two tabs change content below.
しゃちょー

しゃちょー

有限会社こだまシステム社長。18歳の時からIT業界で働く。趣味はモータースポーツ。マイブームはダイエット。

関連記事

セマフォの使用状況

Solaris9でシステム全体のセマフォ数がいくつ使われているかを確認するには以下のコマンドを実行する。

【linuxで画像加工】CinePaintの32bitモード

32bitモードではトーンカーブによる階調補正ができないようです。なぜでしょう?

CentOS7からiptablesがfirewalldに変わったよ

先日どハマリしてしまったCentOS7のポートの解放について、語ります。

[メモ]CentOS5.6のPHPをソース版に入れ替える

CentOS5.6にデフォルトでインストールされるPHPではなく、必要最低限(?)のモジュールのみでコンパイルしたPHPに入れ替える必要があったので、その手順をメモ。

【linuxで画像加工】ダーク減算からのPPMファイルをTIFFに変換

fileからダーク減算してfile_new.ppmができる