2011-11-03 112 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; 
    }  
});