我正在制作一个简单的滑入式菜单系统。我希望能够通过点击 ESC 键来关闭菜单。
这是我目前的代码: http://jsfiddle.net/3w539Lct/3/
我的Javascript第126行,你可以看到:
$( document ).on( 'keydown', function ( e ) {
if ( e.keyCode === 27 ) { // ESC
$(".menu-wrap").prop("checked", false);
}
});
然而,这不起作用。有人可以帮忙吗?
答案 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();
}
});
答案 2 :(得分:-2)
$(document).keyup(function(e) {
if (e.keyCode == 27) {
toggleMenu();
}// escape key maps to keycode `27`
});
希望这会有所帮助