jquery - How to open a menu with keypresses? -


i trying desing first website me. have menu, hidden default. when press on button in navbar, opens fine.

but want add possibility via keys too. m = open menu ; esc = close menu ;

$(document).keydown(function(e) {    if (e.keycode == 77) {$('#menu').collapse('show') ;}  ;    if (e.keycode == 27) {$('#menu').collapse('hide') ;}  ; }) ; 

while works fine, problem is, if press m key twice or more in row, without pressing esc in between, menu wont open again. same esc key.
additionally, when menu opened, , press m re-opens, ugly.

so tried save state of menu in var called menutoggled.
why doesnt work??

$(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 ;}       } ;     });  

it appears, jquery doesnt enter keycode-if's, because tried fire .alert('test') ; event , didnt work in "second" code.

var menutoggled = false; $(document).keydown(function(e){     var action = false;      switch(e.which){         case 77:             if(!menutoggled) action = 'show';         break;          case 27:             if(menutoggled) action = 'hide';         break;     };      if(action !== false){         $('#menu').collapse(action);         menutoggled = !menutoggled;         e.preventdefault();     } }); 

Comments

Popular posts from this blog

authentication - Mongodb revoke acccess to connect test database -

r - Update two sets of radiobuttons reactively - shiny -

ios - Realm over CoreData should I use NSFetchedResultController or a Dictionary? -