0

次の単純な html ページがあります。

<html>
<head>
<script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script>

<script type="text/javascript">
$(document).keydown(function(e){
    if (e.keyCode == 37) {  // left
       $('#prev').click();   
       return false;
    } else if (e.keyCode == 39) {  // right
       $('#next').click();
       return false;
    }
});
</script>
</head>

<body>
<a id="next" href="/next">next</a>
<a id="prev" href="/prev">prev</a>
</body>

</html>

ユーザーが左右のキーボード キーを使用して記事をナビゲートできるようにしたいと考えています。したがって、左矢印をクリックすると /prev リンクに移動し、右矢印をクリックすると /next リンクに移動するはずです。何らかの理由で取得できないブラウザで動作しません。

ありがとう

4

1 に答える 1

2

このような:

$(document).keydown(function(e){    
    if (e.keyCode == 37) {  // left
       window.location.href = $('#prev').attr('href');   
       return false;
    } else if (e.keyCode == 39) {  // right
       window.location.href =  $('#next').attr('href');  
       return false;
    }
});

要素を呼び出していますが、それはイベントを.click()トリガーしません。それは次のことです:click.trigger()

$(document).keydown(function(e){
    if (e.keyCode == 37) {  // left
       $('#prev').trigger('click');   
       return false;
    } else if (e.keyCode == 39) {  // right
       $('#next').trigger('click');
       return false;
    }
});
于 2013-03-28T16:17:59.207 に答える