2016-12-25 100 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

这一个绝对奏效。非常感谢! –