jQuery触发器点击

时间:2010-10-28 06:00:51

标签: jquery

当用户点击右箭头键时,我正在使用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>

对此有什么看法?感谢

2 个答案:

答案 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>