用箭头关闭页面滚动?

时间:2011-11-03 17:31:28

标签: javascript jquery html user-interface

如果您构建游戏或互动网站并希望使用箭头键作为页面功能。 (例如,屏幕上有东西移动)

是否可以通过箭头键禁用页面滚动?

3 个答案:

答案 0 :(得分:2)

$(document).ready(function() {
    $(document).keydown(function(Event) {
        if(Event.which == 38 || Event.which == 40) {
            Event.preventDefault();
            // Do whatever you want
        }
    });
});

答案 1 :(得分: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;
    }    
});

答案 2 :(得分:0)

$(window).keydown(function(ev){
    // check the arrow keycodes here
    ev.preventDefault();
});