2016-12-25 105 views
0

不工作,我們使用特定網站上的忍者形式,每當我們輸入了東西,方向鍵的不愉快。我做了一項研究,發現了一些與這個社區相似的東西(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

這一個絕對奏效。非常感謝! –