2

我正在制作一个画廊并试图弄清楚如何对箭头键进行编程以导航画廊。

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

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

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

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";
    }
}); 
4

3 回答 3

2

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

<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>​
于 2012-12-07T03:13:00.883 回答
1

尝试将脚本放在您的 head 标签中,然后修改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";
    }

}); 
于 2012-12-07T04:05:47.450 回答
1

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

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

于 2012-12-07T04:31:36.463 回答