用keydown替换鼠标单击

时间:2015-10-29 14:54:07

标签: javascript jquery

我需要通过键盘按键触发鼠标点击事件。因此,用户无需点击网站上的按钮,只需按下“Shift”键(或任何其他键),就可以像使用鼠标点击按钮一样进行操作。

我从SO那里尝试了很多东西,但似乎没有任何工作 - 任何想法?

UPDATE 我试图使用鼠标单击该元素时触发的功能更易于访问,这样您就不需要只使用鼠标而且还需要键盘快捷键 - 所以在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://codepaste.net/8gr5go

2 个答案:

答案 0 :(得分:3)

更新:我想念这个问题 - 这是正确的解决方案。

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

您正在寻找的是触发按钮上的默认事件,遗憾的是jQuery无法实现,除非他们实际点击它。您的解决方案是检索&#34; href&#34;值并将位置更改为以下内容。

OR

$(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...
  }
});

你可以这样做。

答案 1 :(得分:0)

http://blogs.microsoft.co.il/gilf/2012/09/11/back-to-basics-using-keyboard-events-in-javascript/

以上帖子是一个很好的启动你。

window.addEventListener('keypress', function (e) {

    console.log(e.keyCode);

}, false);

上面给出了按下键的键码 - 这样你就可以设置一个if语句来检查你想要检测的键以触发任何操作。

相关问题