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 タグに keypress イベントを持たせる (または 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

この関連する回答を参照してください:https ://stackoverflow.com/a/5597114/380487

keydownイベントではなく、イベントをリッスンする必要がありますkeypress

于 2012-12-07T04:31:36.463 に答える
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 に答える