jquery使用enter键导航链接

时间:2014-03-06 21:13:34

标签: jquery

我希望用户在按下回车键时转到“a href”中的链接。我怎么做? 我已经搜索了全部,大多数建议是使用以下不起作用。你还有其他任何可以尝试的建议吗?谢谢你的帮助。

$("a.uniq_red").triger("click");  // doesn't work
$("a.uniq_red").click();  // doesn't work
$("#search-results a").click(); // doesn't work

到目前为止,这是我的代码:

   var i=0;
    $('#search').keypress(function(e){

    if (e.which == 13) {
        //$("a.uniq_red").triger(confirm('test'));  //THIS WORKS!!!!

        $("a.uniq_red").simulate('click');  // THIS DOES NOT WORK 
    }
    if (e.which >= 37 && e.which <= 40) {
        $('p.key-notification').fadeOut('slow');
    }
    var keyCode = e.keyCode || e.which,
    arrow = {left: 37, up: 38, right: 39, down: 40 }
    switch (keyCode) {
        case arrow.down:
            // do something down
            // confirm("test");
            $("#search-results a").eq(i).addClass('uniq_red');
            $("#search-results a").eq(i-1).removeClass('uniq_red');

            i+=1;
        break;
        case arrow.up:
            // do something up
            $("#search-results a").eq(i-2).addClass('uniq_red');
            $("#search-results a").eq(i-1).removeClass('uniq_red');
            i-=1;
        break;
    }
   });

我遵循了一个新的建议并且有效。但是我必须按两次输入键才能导致代码导航到一个href链接。

$("a.uniq_red").focus();  //This work, but I had to hit enter twice.
$("a.uniq_red").focus().click();  //Essentially, same outcome.
$("a.uniq_red").click().focus();  // also, same outcome.

2 个答案:

答案 0 :(得分:0)

你只需要专注它,它就像一个魅力。当用户按Enter键时,他将点击具有uniq_red id。

的链接
$("a.uniq_red").focus();

答案 1 :(得分:0)

如果我理解正确,你想要使用的是:

window.location = $('a.uniq_red').attr('href');