jquery覆盖keydown函数返回默认值

时间:2010-09-28 03:19:35

标签: jquery keystroke

我正在使用jeegoo上下文菜单jquery插件,它会覆盖箭头键以导航菜单。我在菜单中有一个输入字段,当在输入字段中时,左右箭头键不起作用。

有没有办法可以添加异常,这样当我在输入字段时,左右箭头键会恢复为默认行为?

这是按键覆盖的代码。

$(document).bind('keydown.jeegoocontext', function(e){
 switch(e.which)
 {
     case 38: //keyup
        **misc code**
         return false;
     case 39: //keyright
        **misc code**
         return false;
     case 40: //keydown
        **misc code**
        return false;
     case 37: //keyleft
        **misc code**
        return false;
     case 13: //enter
        **misc code**
        break;
     case 27: //escape
        **misc code**
         break;
     default:
         break;
 }
 }).bind('keyup.jeegoocontext', function(e){
 window.clearInterval(_global.keyUpDown);
 _global.keyUpDownStop = false;
 });

e.stopPropagation();

2 个答案:

答案 0 :(得分:0)

我正在使用的插件的开发人员回复给我一个解决方案来覆盖输入字段的击键控件。

$(‘myInputField’).keydown(function(e){
    {switch(e.which){
         case 39: e.stopPropagation();return true;
         case 37: e.stopPropagation();return true;}});

答案 1 :(得分:0)

请确保没有为您想要默认行为的元素调用e.stopPropagation()。