1

さて、上にメニューがあります。

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も何も起こりません。

4

2 に答える 2

0

keydownイベントを使用して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/

于 2013-01-13T17:07:03.647 に答える
-1

修飾キーであるため、でCTRLキーを単独で使用することはできません。keypress

keydown代わりに試してください。

于 2013-01-13T17:07:51.963 に答える