我如何将左右方向键映射为向上和向下键

  • 本文关键字:映射 左右 方向 jquery keydown
  • 更新时间 :
  • 英文 :


我想让一个网站在按下左箭头时向上滚动,在按下右箭头时向下滚动。

我正在尝试这个:

    $("body").keydown(function(e){
        console.log( e.which );
        // left arrow
        if ((e.keyCode || e.which) == 37)
        {   
            e.keyCode = 38;
            e.which = 38;
            $("body").trigger( e );
        }
        // right arrow
        if ((e.keyCode || e.which) == 39)
        {
            e.keyCode = 40;
            e.which = 40;
            $("body").trigger( e );     
        }   
    });

但是不能正常工作,你能给我指出正确的方向吗?

尝试控制滚动,而不是尝试触发向上和向下的箭头。见下文,

下面的代码实际上是按页滚动,将$(window).height()更改为一个固定的理想值。(演示: http://jsfiddle.net/v5DZ9/1/)

//This is for page scroll. Use a reduced height instead of $(window).height() 
//for controlled scroll.
$(document).keyup(function (e) {
    if (e.which == 39) {
       window.scrollTo(0, $(window).height() + $(document).scrollTop()); 
    } else if (e.which == 37) {          
       window.scrollTo(0, $(document).scrollTop() - $(window).height());
    }
});
演示:

http://jsfiddle.net/v5DZ9/

注意:请谨慎使用,此代码未经测试

最新更新