0

メニューをナビゲートするために矢印キーをオーバーライドする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();
4

2 に答える 2

0

私が使用しているプラ​​グインの開発者から、入力フィールドのキーストローク コントロールをオーバーライドする解決策について返信がありました。

$(‘myInputField’).keydown(function(e){
    {switch(e.which){
         case 39: e.stopPropagation();return true;
         case 37: e.stopPropagation();return true;}});
于 2010-09-28T15:29:53.633 に答える
0

デフォルトの動作にしたい要素に対して e.stopPropagation() が呼び出されていないことを確認してください。

于 2010-09-28T15:30:01.597 に答える