好的,我上面有一个菜单。
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
时没有任何事情发生时会打开菜单。
答案 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/
答案 1 :(得分:-1)
您无法在CTRL
中单独使用keypress
密钥,因为它是修饰键。
请尝试keydown
。