2013-03-28 51 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

第一个功能运行良好,但第二个功能即使在添加文档之后也不起作用 –