使用键盘键作为导航

时间:2012-07-10 01:18:55

标签: javascript jquery keyboard

我正在撰写博客主题&我想要键盘导航。我知道它与键盘键的ID有关,但我已经找了3个小时,但仍然没有找到一个简单的解决方案。以下是我要按的键和键。我希望他们做什么。

  • J - 向下滚动到下一篇文章
  • K - 向上滚动到上一篇文章
  • R - 打开一个包含该帖子的reblog网址的新标签
  • P - 打开一个包含该帖子永久链接URL的新标签

如果有人能帮助我,那将非常有帮助。此外,我知道您可以通过在<article data-reblog-url="http://reblogurl" data-permalink-url="{Permalink}">这样的网址中设置链接来执行某些操作,但我不知道如何在R&amp; S中使浏览器打开新选项卡。按下P键作为URL。此外,J&amp; K,我希望浏览器能够平滑滚动到帖子的顶部,包括帖子的margin-top。

如果有人能帮我解决整个代码,我会很感激TON。我知道这很多,而且我可能会对此表示赞同,但就像我说我已经尝试了一个多小时,我只需要专家的帮助。

3 个答案:

答案 0 :(得分:1)

一个多小时不是很多。但是这里有一些东西让你开始:

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

DEMO: http://jsfiddle.net/RXPhP/

问题:该事件仅针对具有焦点的元素触发,因此您最好将其绑定到bodydocument进行导航。

答案 1 :(得分: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.
}

答案 2 :(得分:-1)

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