JQuery 2.0.2:触发链接上的点击

时间:2013-07-10 13:45:17

标签: jquery click

我最近从JQuery 1.7升级到2.0.2,现在我想做一件简单的事情。如果我坚持使用版本1.7它可以工作,但不知何故它不适用于版本2.0。 : - / 我的页面上有两个链接:

<span class="goButtons">
<a href="{$previousURL}" class="previousButton">&laquo;</a>
<a href="{$nextURL}" class="nextButton">&raquo;</a>
</span>

这两个链接指的是我照片库中的上一张和下一张图片。如果我点击它们,他们会将我重定向到正确的图像。现在我想添加一个keydown处理程序,如果我按左箭头键或右箭头键,就会触发对这些链接的点击。

$(function () {
    $('.goButtons a').on('click', function () {
        console.log('a.' + $(this).prop('class') + ' was clicked... going to ' + $(this).prop('href'));
        return true;
    });

    $(window).keydown(function (e) {
        if (e.which == 37) 
            $('a.previousButton').trigger('click');
        else if (e.which == 39) 
            $('a.nextButton').trigger('click');
    });
});

如果我打开Firebug激活的页面并按右箭头键,控制台会显示:

  单击a.nextButton ...转到/ foto / 11 /

不幸的是浏览器没有开始加载链接页面。看起来好像它会阻止它,但这是我在页面上唯一的javascript。 : - (

3 个答案:

答案 0 :(得分:1)

实际上你可以做这样的事情 - 惊喜 - 它确实有效:

$('a.my_link')[0].click()

答案 1 :(得分:0)

刚刚找到解决方案。我把它改成了

$('.goButtons a').on ('click', function () {
    window.location.href    =   $(this).prop ('href');
});

按预期工作。 : - )

答案 2 :(得分:0)

您可以在此a.trigger('click') {{1}}找到更详细的解释,说明为什么这不适用。