QA@IT

IE8で、ShowModalDialogしたウインドウでのonKeyDownイベントでF12が拾えない。開発ツールが起動してしまいます。

4568 PV

Windows7, IE8の環境でJavaScriptの勉強をしています。

今回、onKeyDownイベントでファンクションキーの制御をしようと思っています。
しかしながら、ダイアログ表示(showModalDialog)したウインドウではF12キーを押すとどうしても開発ツールが起動してしまいます。
回避策などわかる方がいらっしゃいましたら教えていただけますか?

※ゾーンの設定で、対象となるゾーンの
「Webサイトがアドレスバーやステータスバーのないウインドウを開くのを許可する」
が「無効にする」になっていると本現象が発生します。

ソースは以下です。
------index.html


function show_Dialog()
{
window.showModalDialog("dialog.html", this, "width=640px,height=600");
}


メイン画面

-------dialog.html

function key_event()
{
// 発生したイベントのキーコードを取得
var code = event.keyCode;

//F1-F12キーであれば、無効化する(F1キー:112,... F12キー:123)
if(event.keyCode == 123)
{
    event.keyCode = null;
    event.returnValue = false;
}
//該当するキーコードで分岐。それぞれのcase内に、実行したい独自の処理を記述する。
switch(code){
    // F12キー
    case 123:
        alert('F12!');
        break;
    default:
        break;
}
return;

}


ダイアログ

回答

initialize()という関数がありません。
そのせいかもしれませんが、KeyDownイベントとkey_event関数を紐づけるコードがありません。
それで処理されていないのではないでしょうか。

headタグもお忘れなく。

編集 履歴 (0)
ウォッチ

この質問への回答やコメントをメールでお知らせします。