当用户点击右箭头键时,我正在使用jquery热键绑定并运行一个函数。当jquery热键检测到键盘上出现右箭头时,我希望jQuery单击下一个分页链接。由于某种原因,这是行不通的。我已经确认了分页作品。还通过使用下面的代码来确认选择器看起来很好而不是.trigger,.remove()。
$(document).ready(function() {
jQuery(document).bind('keydown', 'right',function (evt){
$('#header').find('.next_page').trigger('click');
});
});
<div id="view-header">
<a class="next_page" href="/books/?page=2" rel="next">Next →</a>
</div>
对此有什么看法?感谢
答案 0 :(得分:0)
为什么不做一个.click()
?
或者你可以拿起href并使用javascript将用户带到那里。
location.href =''+ $('#header')。find('。next_page')。attr('href')+'';
答案 1 :(得分:0)
可能就是你在使用#header
作为html中的ID的jQuery中使用view-header
。我怀疑它就这么简单。调用本机点击事件(例如您描述的事件)很困难。 .trigger('click')
会发生什么,它会调用onClick事件(并且没有)。也许最好的办法是创建一个点击处理程序:
$('.next_page').click(function(){
location.href = $(this).attr('href');
});
这是一个点击处理程序:现在当你调用.trigger('click')时,它应该运行这段代码。我认为这可以通过你所显示的内容变得更简单(即你可以在keydown处理程序中更改location.href值并避免强制点击),但也许你有其他计划。 :)
更新:
此代码完美无缺。它可能不会像它那样紧凑,但我尽可能地保持原始帖子的数量。享受。
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
$(function(){
$('.next_page').click(function(){
location.href = $(this).attr('href');
});
});
$(document).keydown(function(event) {
if(event.keyCode==39) {
$('.next_page').trigger('click')
}
});
</script>
<div id="header">
<a class="next_page" href="/books/?page=2" rel="next">Next →</a>
</div>