制作捕鼠器单击链接

时间:2013-07-10 13:13:46

标签: javascript keyboard-shortcuts mousetrap

如果我有一个链接并希望绑定键盘快捷键,我应该怎么做?这似乎不起作用:

<a id="next" href="/next/page">Next page</a>
<script src="mousetrap.js"></script>
<script>
  Mousetrap.bind("n", function() {
    document.getElementById("next").click();
  });
</script>

2 个答案:

答案 0 :(得分:0)

您是否需要点击链接?这样的事情对你有用吗?

Mousetrap.bind("n", function() {
    window.location.href = "/next/page"; //Or document.getElementById('next').href as in Robert's response.
});

此外,这可能有所帮助:How do I programmatically click on an element in JavaScript?

答案 1 :(得分:0)

我认为你的代码不能正常工作,因为我不是JS专家,有几个原因;我只是从我的小经历中说出这一点。

  • 您假设为Anchor标记定义了onClick函数。即使它是 - 你还没有定义onclick函数中发生的事情。

  • 你应该使用外部功能来达到同样的目的;所以有效地使用一个锚标签,使用可以点击和一个功能,当用户按下'N'时,该功能也将用户带到所需的页面。

我试着想一点解决方案;请看下面,看看你是否可以找出可能出错的地方。我会让一些有经验的人告诉你什么是错误的,以及为什么它不起作用。

<html>
<head>
<title>mouse trap test</title>
</head>
<body>
    <a id="next" href="next/page">Next page</a>
<script src="mousetrap.js"></script>
<script>

function GoToLocation(url)
  {
    //window.location = "http://www.stackoverflow.com";
    window.location = url;
  }

  Mousetrap.bind("n", function() {
    //alert('N pressed' + document.getElementById("next").href);
    //document.getElementById("next").click();
    GoToLocation(document.getElementById("next").href);
  });


</script>
</body>
</html>

我希望以上有所帮助。