In one answer to another answer, you may need to stop the cascade of the event during the second key press, which can be done similarly to this: (put your logic, of course)
/* handle special key press */ function checkCptKey(e) { var shouldBubble = true; switch (e.keyCode) { // user pressed the Tab case 9: { $(".someSelect").toggleClass("classSelectVisible"); shouldBubble = false; break; }; // user pressed the Enter case 13: { $(".someSelect").toggleClass("classSelectVisible"); break; }; // user pressed the ESC case 27: { $(".someSelect").toggleClass("classSelectVisible"); break; }; }; /* this propogates the jQuery event if true */ return shouldBubble; }; /* user pressed special keys while in Selector */ $(".mySelect").keydown(function(e) { return checkCptKey(e); });
source share