キーボードを使用してナビゲーションを作成しようとしています。jquerys load() 関数を使用して新しいコンテンツをロードしますが、スクリプトが最初にロードされたときにのみ機能します。jquery live() 関数を使用してすべてのページをロードすることになっていると聞きましたが、そうではありません. これはキープレス関数です:
$(document).live("keydown", function(e){
if (e.keyCode == 49) {
$('.next').click();
}
if (e.keyCode == 50) {
$('.prev').click();
}
});
このコードは、読み込まれるすべてのページにあります。しかし、ページを初めて使用するときにのみ機能し、1 回クリックした後は機能しません。なんで?.next と .prev の機能:
$('.next').click(function(event) {
event.preventDefault();
var href = this.href;
$('.loading').fadeIn();
$('#content').load(href, function(){
$('.loading').fadeOut();
});
});
ただし、ロード後にマウスで常に .next および .prev を押すと機能します。一度だけ機能するキーを押すだけです。
これは HTML 構造です。
<div id="content">
Image
<div class="nav">
<a href="page.php?id=1" class="prev">Prev</a>
<a href="page.php?id=2" class="next">Next</a>
</div>
</div>