- - PR -
JavaScript 特定のショートカットキー抑止について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-04-13 20:52
いつも拝見させて頂いております。
今、ASP.NET(VB)を用いてWEBアプリケーションを作成しております。 【仕様】 [Ctrl+C]や[Ctrl+V]などのショートカットキーは有効にする。 [Ctrl+P]と[Ctrl+O]の特定のショートカットキーは抑止する。 【質問内容】 JavaScriptにて、[Ctrl+P]と[Ctrl+O]を抑止することはできるのでしょうか 【開発環境】 Visual Studio .net 2003 .NetFramework 1.1 【今の動作確認テストソース】 <script language="JavaScript"> <!-- //キーeventをセットする if(document.layers)document.captureEvents(Event.KEYDOWN,Event.KEYPRESS); document.onkeydown = lsubKeyDown_Event; document.onkeypress = lsubKeyDown_Event; //--> </script> function lsubKeyDown_Event(e) { var lintKeyCode; lintKeyCode = parseInt(gfunGetKeyCode(e)); if (window.event.ctrlKey == true) { switch (lintKeyCode) { case 80: //「P」 case 79: //「O」 return (false); break; default: return (true); break; } } } function gfunGetKeyCode(e){ if(document.all) { return event.keyCode } else if(document.getElementById) { return (e.keyCode!=0)?e.keyCode:e.charCode } else if(document.layers) { return e.which } } 上記ソースにて、他のショートカットも踏まえいろいろ実験しましたが、ダイアログが表示されるもの([Ctrl+F]など)が抑止不可でした。 (すべてのパターンにて実験したわけではないので、抑止可能なものもあるかもしれません) [Ctrl+P]や[Ctrl+O]等はオペレーティング・システム固有キー・コマンドに割り当てられているものなのでしょうか? そうであれば、「JavaScriptで抑止するということは無理では」という結論も分かるような気がします。 ご存知の方がいらっしゃれば、ご教授願います。 | ||||
|
投稿日時: 2005-04-14 01:53
確かにfalseを返しても印刷ダイアログが出ますね。不思議なのは
case 80: //「P」 ↑これの下に alert('印刷不可'); を入れるとメッセージが出た後印刷ダイアログが出ないです。(当方XPSP1,IE6) | ||||
|
投稿日時: 2005-04-14 10:49
おはようございます。
べるさん、ご指摘ありがとうございます。 当方も先ほど動作確認しました。 確かにalertをはさむと機能は抑止できました! でも、すっごく不思議です。。。 ̄□ ̄;) |
1