How do I prevent scrolling with arrow keys but NOT the mouse?

arrow-keys, javascript, jquery, scroll

Solution

Adding document level keypress handler does the trick!

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;
});

Problem

Since I'm using jQuery, any solution via that would work too. Ideally, I'd like to know both, though. I already have the arrow keys bound to another function on my page (using jQuery), but having them cause the page to scroll in addition to that, causes me problems. I may have known this at one time, but I don't remember it anymore.

Original source

Related problems