2013-03-28 49 views
0

我有以下簡單的HTML頁面:jQuery的左,右導航不工作

<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鏈接。由於某些原因,我無法在任何瀏覽器中工作。

感謝

+1

包裝在文件準備好? – Huangism

+0

試圖包裝文檔準備好但沒有區別 –

回答

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; 
    } 
}); 
+0

他沒有通過他在做什麼來約束處理程序,他調用了綁定的函數,該函數不存在。看起來他也需要一個文檔準備好的包裝。 – Jack

+0

@Jack啊是的,我會更新答案。謝謝! –

+0

第一個功能運行良好,但第二個功能即使在添加文檔之後也不起作用 –