如何使用箭头键而不是鼠标阻止滚动?

Dad*_*box 34 javascript jquery scroll arrow-keys

由于我使用的是jQuery,因此任何解决方案都可以使用.理想情况下,我想知道两者.

我已经将箭头键绑定到我页面上的另一个函数(使用jQuery),但是让它们导致页面滚动除此之外,导致我出现问题.

我可能一次都知道这个,但我不记得了.

The*_*iot 78

添加文档级按键处理程序就可以了!

var ar=new Array(33,34,35,36,37,38,39,40);

$(document).keydown(function(e) {
     var key = e.which;
      //console.log(key);
      //if(key==35 || key == 36 || key == 37 || key == 39)
      if($.inArray(key,ar) > -1) {
          e.preventDefault();
          return false;
      }
      return true;
});
Run Code Online (Sandbox Code Playgroud)

  • 诀窍是使用**onkeydown**,而不是onkeyup和**e.preventDefault** (14认同)
  • 它处理PgUp(33),PgDn(34),End(35),Home(36),Left(37),Up(38),Right(39),Down(40) (7认同)
  • 您可以使用`[...] .indexOf(key)!= -1`和`addEventListener`来消除对jquery的需求 (3认同)