然后单击按键

时间:2012-12-07 03:00:26

标签: javascript jquery redirect keypress

我正在制作一个画廊并试图弄清楚如何编程箭头键来浏览画廊。

因此,按向左箭头将转到上一个图像网址:

function window.location = 'http://www.example.com/prevphoto.php';

按向右箭头将转到下一个图像网址。

function window.location = 'http://www.example.com/nextphoto.php';

更新(谢谢Haxxed指出我正确的方向) 这就是我所处的位置,但它不起作用。你能明白为什么吗?

$('body').keypress(function (e) {
    if (e.which == 37) {
        // Left Arrow Pushed
        window.location = "/prevphoto.php";
    } else if (e.which == 39) {
        // Right Arrow Pushed
        window.location = "/nextphoto.php";
    }
}); 

3 个答案:

答案 0 :(得分:2)

基本上你需要让body标签有一个按键事件(或使用jquery来创建一个事件监听器)然后只需检查键码(左箭头是37,右边是39)然后使用window.location来重定向页面。 All Key Codes

<head>
    <script>
           function e(event){
            if(event.keyCode == 37){
                //Left Arrow Pushed
                window.location = "../prevphoto.php";
            }else if(event.keyCode == 39){  
                //Right Arrow Pushed     
                window.location = "../nextphoto.php";
            }        
        } 
    </script>
</head>    
<body onKeyPress="e(event)" >

</body>​

答案 1 :(得分:1)

尝试将脚本放在头标记中,然后修改body以使用document

$(document).keypress(function (e) {

    if (e.which == 37) {
        //Left Arrow Pushed
        window.location = "/prevphoto.php";
    } else if (e.which == 39){ 
        //Right Arrow Pushed     
        window.location = "/nextphoto.php";
    }

}); 

答案 2 :(得分:1)

请参阅此相关答案:https://stackoverflow.com/a/5597114/380487

您需要收听keydown事件,而不是keypress事件。