关闭ESC上的JS菜单

时间:2015-03-13 09:27:22

标签: jquery html css keyboard-shortcuts keyboard-events

我正在制作一个简单的滑入式菜单系统。我希望能够通过点击 ESC 键来关闭菜单。

这是我目前的代码: http://jsfiddle.net/3w539Lct/3/

我的Javascript第126行,你可以看到:

$( document ).on( 'keydown', function ( e ) {
            if ( e.keyCode === 27 ) { // ESC
                $(".menu-wrap").prop("checked", false);
            }
        });

然而,这不起作用。有人可以帮忙吗?

3 个答案:

答案 0 :(得分:5)

我重用了一些现有的函数和变量。 这应该是正确的。

元素$(。" menu-wrap")是 div ,而没有已检查的属性。您需要添加隐藏退出按钮菜单的逻辑。

     $( document ).on( 'keydown', function ( e ) {
        if ( e.keyCode === 27 ) { // ESC
             isOpen && classie.remove( bodyEl, 'show-menu' );
        }
    });

这是一个有效的demo

答案 1 :(得分:1)

根据条件toggleMenu触发isOpen。 像这样:

$( document ).on( 'keydown', function ( e ) {
    if ( e.keyCode === 27 ) { // ESC
        isOpen && toggleMenu();
    }
});

http://jsfiddle.net/3w539Lct/7/

答案 2 :(得分:-2)

$(document).keyup(function(e) {
 if (e.keyCode == 27) {
     toggleMenu();
 }// escape key maps to keycode `27`
});

希望这会有所帮助