0

ホームページに jQuery を使用し、ウィンドウの読み込み時にキーリスナーを追加します。次のようになります。

$(window).load(function(){
    var debug = $('#debug'); // this is a fixed div I use to print debug
                             // information to the screen
    $(window).keypress(function(event) {
        var keyCode = event.keyCode ? event.keyCode : event.which;
        debug.text(keyCode);
        if (keyCode == 106 || keyCode == 40)
            nextCard();
        else if (keyCode == 38 || keyCode == 107)
            prevCard();
    });
});

上矢印キーと下矢印キー、または「j」と「k」を使用して、あるカードから別のカードにジャンプできます。アンカーにジャンプせずにページが読み込まれている限り、問題なく動作します。つまり、http://www.blah.com のようなページに移動すると正常に動作しますが、このhttp://www.blah.com#anchorのようにロードすると動作しなくなります。

更新: $(window).load() が発生するため、これは問題ではありません。

問題が何であるかについて何か考えはありますか?ありがとう!

4

2 に答える 2

0

問題が見つかりました。実際には、keypress ハンドラーとは何の関係もありませんでした。これは、誰かが URL にハッシュを含むページに入るたびにスクロール アニメーションを開始するハンドラーでした。

それにもかかわらず、コードについて考えさせてくれてありがとう :P 次回ここに投稿する前にそのようなバグを検討しようとします....

于 2013-05-16T14:19:43.987 に答える