【问题标题】:JScript bind link to keyJScript 将链接绑定到键
【发布时间】:2013-03-03 23:23:37
【问题描述】:

<li id="add-this" style=""><a href="#">Add this</a></li>

我们都知道这是做什么的,当你按下它时它会激活一个脚本,但我想知道它是否可以将它绑定到一个键,所以当你按下它时它会激活脚本。尝试了不同的东西,现在在谷歌上搜索了几个小时,但找不到我要找的东西。我正在尝试为我的网站制作一个脚本,以便您可以使用键盘浏览它,我可以将脚本绑定到一个键,但不知道如何执行此操作。

谢谢 //Nemx

【问题讨论】:

  • 只需在文档中添加keypresskeydown 处理程序即可。 PS:可能值得尝试使用github.com/tzuryby/jquery.hotkeys 或阅读其代码
  • 我可以添加一个keydown,但问题是我无法点击链接,(function(){ document.addEventListener('keydown', function(e) { if( e.which == 68) { >Dont know what to put here to make it work< } }, false); })(); 尝试了一些东西,$("add-this").click(); and document.getElementById('add-this').onclick 但在运行它们时在控制台中出现相同的错误: “未捕获的 TypeError:无法调用 nul 的方法‘click’”

标签: javascript jquery key hyperlink


【解决方案1】:

您可以向文档添加 keydown、keypress 或 keyup 事件处理程序并触发对您的链接的点击。像这样(只需将 *YOUR_KEYCODE* 替换为您希望用户必须按下的键的代码):

$(document).keydown(function(e){
    if( e.which === YOUR_KEYCODE ) {
        $("#add-this").click();
    }
});

http://fiddle.jshell.net/QEk33/

【讨论】:

  • 添加了这个,但它只返回一个错误:“Uncaught TypeError: Cannot call method 'click' of null”,知道为什么吗?
  • @Nemx 你确定你已经用键码替换了 YOUR_KEYCODE 吗?在这里你可以得到你需要的keycodejsbin.com/uyorip/2/quiet
  • 好吧,当然我已经替换了它,68 = D。这不是问题,当我按下键时我得到了错误。
  • @nemx 你用什么浏览器?
  • 是的,它工作得很好,只是在另一个网站上尝试过。试图弄清楚为什么它不起作用,无论如何你的帮助=)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-01-18
  • 1970-01-01
  • 1970-01-01
  • 2011-06-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多