タイトルの通り、現在IE8環境で、ショートカットキーを無効にする方法を模索しています。
ネットで調べた結果、イベントを受け取ることまでは成功するのですが、
それを無効化することができません(一部のショートカットキー)。
現在試しているのが
Ctrl++→拡大
Ctrl+-→縮小
の二つです。
htmlのバージョンは4.01 Strictを使用しています。
以下ソース
window.document.attachEvent('onkeydown', onKeyEvent);
window.document.attachEvent('onkeyup', onKeyEvent);
function onKeyEvent(e){
if(!e) e = window.event;
//確認用
//console.log("Key Code : " + e.keyCode);
//console.log("Event Type : " + e.type);
//console.log("Ctrl Key : " + e.ctrlKey);
if(e.keyCode != 17){
if(e.ctrlKey){
switch(e.keyCode){
case 187:
case 189:
//e.keyCode = 0;
e.returnValue = false;
e.cancelBubble = true;
//window.event = e;
return false;
}
}
}
return true;
}
alert()をいれると無効化できるといった記述も見たのですが、
今回はその方法は使わずに実装する予定です。
どなたか方法をご存知でしたら、ご教授ください。
(コメントアウトしているものも試しましたが、うまくいきませんでした)
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
よくわかってませんが・・・
ドキュメントレベルでのイベント処理なので、バブリングをキャンセルしても処理されてしまっているのかな?
確認はしていませんが、キャンセルできない場合の対処法のアイデアとして、ctr++が入力されたらctr+-のキーイベントを発火させるといった要領で打消すことができるのではないかと想像します。
ただし、ご提示のようにkeydown、keyupの両方を取得して発火させると、キー入力に対して打消すイベントを起こしすぎになると思いますのでご注意を。
解答ありがとうございます。
イベントの打消しは考えていたのですが、ご忠告の通り、
無限イベント対策などを考えるのが面倒になったため、
抑止の方法を模索してました。
ただ、やはり抑止は出来ないようなので、
とりあえずは打消しイベント発火で対策しておこうと思います。
No.1
- 回答日時:
無理な様です。
ブラウザの機能ですしね・・・
http://oshiete.goo.ne.jp/qa/6127224.html
bodyのCSSを変更する手もあるようですが動かしてみると微妙でした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript コードレビューをお願いします。 1 2022/07/16 05:38
- JavaScript プログラムがうまく動きませんレビューお願いします 1 2022/07/10 05:08
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- Java java 引数 戻り値のあるメソッド 3 2023/02/12 06:23
- JavaScript 追加ボタンを押した際に ok ボタンを押した場合のみ入力値が追記されるようにしたいです 6 2022/05/29 09:57
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
return trueとreturn falseの用...
-
Tabキーでのカーソルの移動...
-
チェックボックスの有無判定
-
プルダウンメニューを選択して...
-
ドロップダウンリストボックス...
-
slickのレスポンシブ > center...
-
テキストボックスに数字しか入...
-
正規表現で複数マッチ条件で悩...
-
ラジオボタンのNullチェック
-
半角英数字のみの入力にエラー...
-
COBOLの数字チェック
-
IE8におけるショートカットキー...
-
フォームの入力チェックをする...
-
未入力のラジオボタンに、alert...
-
プルダウン 項目が多いので先頭...
-
submitボタン押下時にPOSTされ...
-
onchangeイベントを強制的に発...
-
大文字か小文字かを判断する方法
-
【jQuery】input nameの文字列...
-
Selectボックスの幅を自動で広...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
return trueとreturn falseの用...
-
正規表現で複数マッチ条件で悩...
-
JavaScriptde途中で、「exit」...
-
slickのレスポンシブ > center...
-
COBOLの数字チェック
-
チェックボックスの有無判定
-
フォームの入力チェックをする...
-
Visual Studioのデザインでの非...
-
Tabキーでのカーソルの移動...
-
ツリービューのチェックボック...
-
ドロップダウンリストボックス...
-
コピペを禁止するtextarea
-
ラジオボタンのNullチェック
-
未入力のラジオボタンに、alert...
-
form の onSubmit がコールされ...
-
分岐数といえば
-
JSのみで入力→確認→メールで送...
-
JavaScript ログアウト処理
-
TEXTAREAに入力した改行コード...
-
リロードしないようにするには
おすすめ情報