私は現在、自分のためだけに最初のWebサイトを作成しようとしています。デフォルトで非表示になっているメニューがあります。ナビゲーションバーのボタンを押すと、正常に開きます。
しかし、キーを介してこれを行う可能性も追加したいと思います。M=メニューを開く; ESC=メニューを閉じる;
$(document).keydown(function(e) {
if (e.keyCode == 77) {$('#Menu').collapse('show') ;} ;
if (e.keyCode == 27) {$('#Menu').collapse('hide') ;} ;
}) ;
これは問題なく機能しますが、問題は、ESCを押さずにMキーを2回以上続けて押すと、メニューが再び開かないことです。ESCキーと同じです。
さらに、メニューがすでに開いているときにMを押すと、メニューが再び開きますが、これは見苦しいです。
そこで、MenuToggledという変数にメニューの状態を保存しようとしました。
なぜこれが機能しないのですか?
$(document).ready(function() {
//different stuff...
var MenuToggled = 0 ;
} ;
$(document).keydown(function(e) {
if (e.keyCode == 77) {
if (MenuToggled == 0) {$('#Menu').collapse('show') ; var MenuToggled = 1 ;}
} ;
if (e.keyCode == 27) {
if (MenuToggled == 1) {$('#Menu').collapse('hide') ; var MenuToggled = 0 ;}
} ;
});
.alert('test')を起動しようとしたため、Jqueryはキーコードを入力しないようです-if's; イベントであり、「2番目の」コードでは機能しませんでした。