Выключить прокрутку страницы со стрелками? - PullRequest
1 голос
/ 03 ноября 2011

Если вы строите игровой или интерактивный сайт и хотите использовать клавиши со стрелками в качестве функции страницы. (например, перемещение чего-либо на экране)

Можно ли отключить прокрутку страницы с помощью клавиш со стрелками?

Ответы [ 3 ]

2 голосов
/ 03 ноября 2011
$(document).ready(function() {
    $(document).keydown(function(Event) {
        if(Event.which == 38 || Event.which == 40) {
            Event.preventDefault();
            // Do whatever you want
        }
    });
});
2 голосов
/ 03 ноября 2011

Поскольку вы пометили 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;
    }    
});
0 голосов
/ 03 ноября 2011
$(window).keydown(function(ev){
    // check the arrow keycodes here
    ev.preventDefault();
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...