我需要通过按下键盘按键来触发鼠标单击事件。因此,用户无需单击网站上的按钮,只需按“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');
}
});
最佳答案
更新:我错过了理解这个问题——这是正确的解决方案。
$(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/