按键打开菜单

时间:2013-01-13 17:01:59

标签: jquery menu

好的,我上面有一个菜单。

jQuery(document).ready(function()
{
jQuery(".clickMeToOpenMenu").toggle(function()
{ 
jQuery('#menu').stop().animate({'height':'500px'},500)
},function()
{
jQuery('#menu').stop().animate({'height':'0px'},500)
});

所以这完全正常,菜单向下滑动然后我点击它。

现在我的问题是我希望只需按一个键(CTRL)即可打开菜单。

jQuery('body, html').live('keypress', openMenu)
});
function openMenu(e)
{
if(e.keyCode == '17') // KEY 17 = CTRL
{
e.preventDefault()
jQuery('.clickMeToOpenMenu').trigger('click');
}
}

在控制台中输入“jQuery('.clickMeToOpenMenu').trigger('click');”可以正常工作,当我按CTRL时没有任何事情发生时会打开菜单。

2 个答案:

答案 0 :(得分:0)

您需要将keydown事件用于cath ctrl键事件

jQuery('body, html').on('keydown', openMenu)

function openMenu(e) {
  console.log(e.keyCode)
  if (e.keyCode == '17') // KEY 17 = CTRL
  {
    e.preventDefault()
    jQuery('.clickMeToOpenMenu').trigger('click');
  }
}

LIVE EXEMPLE(按下ctrl键时的提醒框):http://jsfiddle.net/YbJ2q/29/show/

来源http://jsfiddle.net/YbJ2q/29/

答案 1 :(得分:-1)

您无法在CTRL中单独使用keypress密钥,因为它是修饰键。

请尝试keydown