是否有一个Javascript或jQuery事件触发跟随键盘的聚焦链接?

我正在使用jQuery focus()和blur()在键盘导航(tabbing)期间突出显示图像链接,但是当通过键盘上的“Enter”跟踪链接时需要能够运行一些代码.

是否有内置事件可以执行此操作,还是需要执行bind keypress等操作并检查“Enter”键?

最佳答案

<a href="http://www.google.com" id="testlink">CatchMe</a>

$('#testlink').attr("rel", $('#testlink').attr("href"));
$('#testlink').attr("href","");
$('#testlink').keydown(function(event) {
    if (event.keyCode == '13') {
        alert("Don't you dare!");
    }
    if (event.keyCode == '71') {
        location.href=$('#testlink').attr("rel");
    }
});

此代码删除了href(将其存储在rel中).现在你可以抓住keydowns了.您可以随意响应回车键(13)(在这种情况下是警报).之后,如果需要,您可以让浏览器跟随链接.但是,在这个例子中,当按下’g’键(代码71)时,我只让浏览器跟随链接.

请注意,当href值类似于’javascript:alert(“blah”)’时,这也有效.

编辑:这更容易(受到this问题答案的启发):

$('#testlink').click(function () {alert("hi"); return false; });

(如果您希望在警报后跟踪链接,则返回true)

点赞