我有以下简单的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链接。由于某种原因我无法在任何浏览器中使用它。

谢谢

最佳答案

像这样:

$(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;
    }
});

09-16 02:24