1

我正在开发一个博客主题,我想要键盘导航。我知道这与键盘键的 id 有关,但我已经寻找了 3 个小时,但仍然没有找到一个简单的解决方案。这是我想按下的键以及我想让他们做什么。

  • J - 向下滚动到下一篇文章
  • K - 向上滚动到上一篇文章
  • R - 使用该帖子的转发 URL 打开一个新选项卡
  • P - 使用该帖子的永久链接 URL 打开一个新选项卡

如果有人可以帮助我,那将非常有帮助。另外,我知道你可以通过在 URL 中设置链接来做一些事情,<article data-reblog-url="http://reblogurl" data-permalink-url="{Permalink}">但我不知道如何在按下 R & P 键时让浏览器打开一个新选项卡,并将该​​数据作为 URL。另外,J & K,我希望浏览器平滑滚动到帖子的顶部,包括帖子的边缘顶部。

如果有人可以帮助我完成整个代码,我将不胜感激。我知道这很多,我可能会对此表示反对,但就像我说的那样,我已经尝试了一个多小时,我只需要专家的帮助。

4

3 回答 3

1

一个多小时不算多。但这里有一些东西可以让你开始:

which您可以通过检查事件对象来可靠地检查按下了哪个键。我做了一个演示,所以你可以看到如何检查按下了哪个键。

演示:http: //jsfiddle.net/RXPhP/

Gotcha:该事件仅在具有焦点的元素上触发,因此您最好将其绑定到bodydocument用于导航。

于 2012-07-10T01:24:26.310 回答
0

这样的事情会给你一个好的开始。如果您不能使用任何库,那么您可以

<script>

var keyMap = [];
keyMap["j"] = 106;
keyMap["k"] = 107;
keyMap["r"] = 114;
keyMap["p"] = 112;

window.onkeypress = function (event) {
 var asciiVal = (event.which) ? event.which : event.keyCode;
 //Write a switch here to individually handle input.
}
于 2012-07-10T01:35:35.580 回答
-1

http://www.w3schools.com/jsref/event_onkeypress.asp用于按键事件。它允许您在按下某个键时执行 js。js 会收到一个事件event,它会告诉你按下了什么键。根据按键,你do somethingnothing

于 2012-07-10T01:26:55.527 回答