2017-12-11 1 views
0

私は3つのステップを含むJquery Stepsフォームを持っています。 私は最後のステップで左と右のキーを無効にして、同じ手順にとどまることができます。JQueryの左と右のキーを無効にするステップ

$(function() { 
    form_prop = $("#new_prop").show(); 
    form_prop.steps({ 
    headerTag: "h3", 
    bodyTag: "fieldset", 
    transitionEffect: "slideLeft", 
    onStepChanging: function(event, currentIndex, newIndex) { 

     if (currentIndex == 2) { 
     form_prop.on('keyDown', function(event) { 
      const key = event.key; // "ArrowRight", "ArrowLeft", "ArrowUp", or "ArrowDown" 
      if (key == "ArrowRight" || key == "ArrowLeft") { 
      // Disable Next and previous 
      } 
     }); 
     } 
    } 

    }); 
}); 
+0

ここでニースの答え: [link](https://stackoverflow.com/questions/8916620/disable-arrow-key-scrolling-in-users-browser) – Wattcey

+0

はい私はevent.preventDefault()を使用しましたが、私はまだ同じ問題を抱えていますが、それでも左右の矢印キーを押すとステップが変わります。 –

答えて

0

私が試してみた:私はあなたが変更をキャンセルするonStepChangingイベントからreturn falseできることがわかりドキュメントから

$(function() { 
    form_prop = $("#new_prop").show(); 
    form_prop.steps({ 
    headerTag: "h3", 
    bodyTag: "fieldset", 
    transitionEffect: "slideLeft", 
    onStepChanging: function(event, currentIndex, newIndex) { 

     if (currentIndex == 2) { 
     form_prop.on('keyDown', function(event) { 
      const key = event.key; // "ArrowRight", "ArrowLeft", "ArrowUp", or "ArrowDown" 
      if (key == "ArrowRight" || key == "ArrowLeft") { 
      event.preventDefault();// Disable Next and previous 
      } 
     }); 
     } 
    } 

    }); 
});  
+0

私は既にevent.preventDefault()を使用していましたが、同じ問題が残っています –

1

を。

ので

$(function() { 
    form_prop = $("#new_prop").show(); 
    form_prop.steps({ 
    headerTag: "h3", 
    bodyTag: "fieldset", 
    transitionEffect: "slideLeft", 
    onStepChanging: function(event, currentIndex, newIndex) { 

     if (currentIndex == 2) { 
      return false; 
     } 
    } 

    }); 
}); 

動作するはずです。

+0

はい、動作しますが、ユーザーが左または右矢印キーを押した場合にのみ必要です。左または右矢印キーを押すと、ステップが変更されます。 –

+0

これで、引き続き使用する別の方法があります。フォーカスが要素内にある場合、移動しないでください。 'suppressPaginationOnFocus'というオプションがあります。これはdefauly' true'であり、起こってはいけません。最新バージョンを使用していますか? –

+0

はい、私はv1.1.0を持っています –

-1

jquery.steps.jsにenableKeyNavigationfalseを設定します。

関連する問題