2016-12-25 9 views
0

特定のサイトでNinjaフォームを使用しています。何かを入力すると、矢印キーは機能しません。私は研究を行い、このコミュニティに似たようなものが見つかった(here)。フォーム上で矢印キーが機能しない

私はサイトのJSファイルをチェックして、言及されたものを正確に見つけました。私は、矢印キーを無効にする責任があると思うのコードのこのセットに気づい:

// disable/enable scroll (mousewheel and keys) from https://stackoverflow.com/a/4770179     
    // left: 37, up: 38, right: 39, down: 40, 
    // spacebar: 32, pageup: 33, pagedown: 34, end: 35, home: 36 
    var keys = [37, 38, 39, 40], wheelIter = 0; 

    function preventDefault(e) { 
     e = e || window.event; 
     if (e.preventDefault) 
     e.preventDefault(); 
     e.returnValue = false; 
    } 

    function keydown(e) { 
     for (var i = keys.length; i--;) { 
      if (e.keyCode === keys[i]) { 
       preventDefault(e); 
       return; 
      } 
     } 
    } 

をしかし、私は最初に述べたそのリソースは、ステップバイステップの手順を記載していなかったので、私は次に何をすべきかわからないんだけど。コード全体を削除する必要がありますか?私は間違いなくテストをすることができますが、気づかないかもしれない実際にいくつかの変更があったときにそれが機能すると思うように誘導されるかもしれないと思っています。

コミュニティからの指導に感謝します。ありがとう。

おそらく実際のフォームへのリンクを提供する必要があります。 Here you go

+0

なぜ、矢印キーでスクロールを永久に無効にするコードがありますか?それは本当に悪いです –

答えて

0

jQueryを使用しているターゲットがフォーム要素であるかどうかを確認できます(使用しているため)。デフォルトの動作をブロックする厄介なコードを呼び出さないでください。

function keydown(e) { 
    // Don't block arrow keys on form elements 
    if($(e.target).is(':input')) { 
     return; 
    } 
    for (var i = keys.length; i--;) { 
     if (e.keyCode === keys[i]) { 
      preventDefault(e); 
      return; 
     } 
    } 
} 
+0

これは間違いなく働いた。スーパー感謝! –

関連する問題