2011-11-03 81 views

回答

2
$(document).ready(function() { 
    $(document).keydown(function(Event) { 
     if(Event.which == 38 || Event.which == 40) { 
      Event.preventDefault(); 
      // Do whatever you want 
     } 
    }); 
}); 
0
$(window).keydown(function(ev){ 
    // check the arrow keycodes here 
    ev.preventDefault(); 
}); 
+0

OP提到箭头键只。通过这样做,你正在引入可访问性问题。最好的,如果你能显示一个完整的答案。 –

+0

@SamuelLiew这就是为什么我写'检查箭头键码在这里' – Andy

2

既然你已经在你的问题标签的jQuery,我将提供一个jQuery的解决方案。

本质上,您需要捕获已使用的密钥,然后在事件上使用preventDefault()方法。这将在按下箭头键时停止浏览器的滚动。这里是展示它的工作一个的jsfiddle:http://jsfiddle.net/KMeGc/

下面是供您参考jQuery代码:

$(document).keydown(function(e) { 
    var key = e.keyCode; 
    if(key == 37 || key == 38 || key == 39 || key == 40) 
     e.preventDefault(); 

    switch(key) 
    { 
     case 37: 
      // Code to run for left arrow key here... 
      break; 

     case 38: 
      // Code to run for up arrow key here... 
      break; 

     case 39: 
      // Code to run for right arrow key here... 
      break; 

     case 40: 
      // Code to run for down arrow key here... 
      break; 
    }  
});