我需要通过键盘按键触发鼠标点击事件。因此,用户无需点击网站上的按钮,只需按下“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');
}
});
答案 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语句来检查你想要检测的键以触发任何操作。