我有以下简单的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链接。由于某种原因,它在任何浏览器中都无法正常工作。
谢谢
发布于 2013-03-29 00:17:59
如下所示:
$(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;
}
});https://stackoverflow.com/questions/15686893
复制相似问题