javascript - 用按键代替鼠标点击

标签 javascript jquery

我需要通过按下键盘按键来触发鼠标单击事件。因此,用户无需单击网站上的按钮,只需按“Shift”键(或任何其他键)即可获得与使用鼠标单击按钮相同的操作。

我尝试了很多东西,但似乎没有任何效果 - 有什么想法吗?

<小时/>

更新 我试图使用鼠标单击该元素时触发的功能更易于访问,以便您不仅需要使用鼠标,还需要使用键盘快捷键 - 因此可以在 KeyDown 上触发它 - 即

标记

<a href="http://www.google.com" class="clickme">LINK</a>

JS

jQuery(document.body).on('keypress', function(e){ if(e.keyCode == 16){ jQuery('.clickme').trigger('click'); } });

http://jsfiddle.net/0sdesy1x/1/

最佳答案

更新:我错过了理解这个问题——这是正确的解决方案。

$(document.body).on('keydown', function(e){
  if(e.keyCode == 16){
    window.location = $('.clickme').attr('href');
  }
});

您正在寻找的是触发按钮上的默认事件,不幸的是,这对于 jQuery 来说是不可能的,除非他们实际单击它。您的解决方案是检索“href”值并将位置更改为以下位置。

或者

$(document.body).on('keydown', function(e){
  if(e.keyCode == 16){
    $('.clickme').get(0).click();
  }
});

在第二个解决方案中,我们使用 jQuery 来获取 jQuery 对象并获取对按钮引用的实际 HTML 引用,然后我们 click()这是一个标准的 JS 函数。

<小时/>

您可以保持点击并添加此代码。这样,当按下 Shift 键时,您可以触发按钮单击。或者,如果您确实想替换,请将按钮代码放在下面示例中的注释部分中。

$(document.body).on('keydown', function(e){
  if(e.keyCode == 16){
    $('<your button class or id here>').trigger('click');
    //or put your button code here...
  }
});

你可以做这样的事情。

关于javascript - 用按键代替鼠标点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33417578/

相关文章:

javascript - 获取选择值的元素

javascript - 如何在变量 JavaScript 中保存递归函数的返回值

jquery UI 选项卡宽度 100%

javascript - JS/Jquery,匹配未找到 PNG = 匹配 ('/gif|jpg|jpeg|png/' )

jquery - 如何选择和修改 "standalone"类?

javascript - 如何使用 javascript 函数返回 url 以形成操作

javascript - 编辑图像/图像详细信息 - 替换按钮丢失

javascript - 页面重定向时没有数据输入 firebase 数据库

javascript - 使用 JQuery 定位隐藏字段

javascript - 动态删除不同div中的元素