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業界で働く。趣味はモータースポーツ。マイブームはダイエット。

関連記事

シェルスクリプトで標準入力を一文字ずつ読み込む方法

シェルスクリプトで対話式のツールを作っていると、標準入力を一文字ずつ処理したくなることってありますよね。そんなときはこれを使えばOK!

Mastodonで出来ること、出来ないこと。

Mastodonのインスタンスを立ち上げて色々と試してみたので、情報共有します!

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

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

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

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

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

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