如果我有一个链接并且想要绑定一个键盘快捷键,我应该怎么做?这似乎不起作用:
<a id="next" href="/next/page">Next page</a>
<script src="mousetrap.js"></script>
<script>
Mousetrap.bind("n", function() {
document.getElementById("next").click();
});
</script>
如果我有一个链接并且想要绑定一个键盘快捷键,我应该怎么做?这似乎不起作用:
<a id="next" href="/next/page">Next page</a>
<script src="mousetrap.js"></script>
<script>
Mousetrap.bind("n", function() {
document.getElementById("next").click();
});
</script>
您是否有特定原因需要单击该链接?像这样的东西对你有用吗?
Mousetrap.bind("n", function() {
window.location.href = "/next/page"; //Or document.getElementById('next').href as in Robert's response.
});
此外,这可能会有所帮助:如何以编程方式单击 JavaScript 中的元素?
我认为您的代码无法正常工作的原因有两个,而且我不是 JS 专家;我只是根据我的小经验说这些。
您假设为 Anchor 标签定义了 onClick 函数。即使是这样 - 您还没有定义该 onclick 函数中发生的情况。
您应该使用外部函数来实现相同的目的;所以有效地拥有一个可以点击的锚标签和一个当用户按下“N”时也将用户带到所需页面的功能。
我试图将我的想法变成一个小解决方案;请看下面,看看你是否能找出你可能出错的地方。我会让一些 JS 经验丰富的人告诉你到底哪里出了问题以及为什么它不起作用。
<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>
我希望以上内容有所帮助。