2011-12-23 127 views
0

我在HTML中有一个按钮,我想为它提供一个快捷键,它应该在按钮单击发生的情况时运行该功能。运行按钮的功能

是否有可能使用JavaScript或jQuery做这样的事情。

+0

检查了这一点 http://stackoverflow.com/questions/593602/keyboard-shortcuts-with-jquery – 2011-12-23 11:40:57

+0

我认为你可以使用热键。使用热键可以添加功能,如按Ctrl + S将提交表单。我发现只有这[链接](https://github.com/jeresig/jquery.hotkeys)热键 – Nick 2011-12-23 11:43:39

回答

3

您可以使用纯HTML执行此操作:accesskey="x"。然后你可以使用ALT +X(取决于浏览器,虽然它是否ALT或别的东西)

0

未经测试:

$("body").keypress(function(event) {  
    if (event.which == 13) { // put your own key code here  
    event.preventDefault();  
    $("#yourbutton").click();  
    }  
}); 
0

它使用jQuery很容易。要触发按钮:

$('#my-button').trigger('click'); 

要监视按键:

$(window).keypress(function (event) { 
    if (event.which === 13) { // key codes here: http://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes 
     event.preventDefault(); 
     $('#my-button').trigger('click'); 
    } 
}); 

现在,如果你想使用Ctrl键或类似使用

if (event.which === 13 && event.ctrlKey) 

event.altKey类似, event.shiftKey

+0

我们完全复制了我们的代码=] – 2011-12-23 11:48:49

+0

我没有从任何地方复制它:P,它是只是最好的做法。 – 2011-12-24 00:06:37

0
$(document).on('keypress', function (e) { 
      if (e.keyCode === youreKeyCodeHere) { 
      // if (e.keyCode === youreKeyCodeHere && e.shiftKey === ture) { // shift + keyCode 
      // if (e.keyCode === youreKeyCodeHere && e.altKey === ture) { // alt + keyCode 
      // if (e.keyCode === youreKeyCodeHere && e.ctrlKey === ture) { // ctrl + keyCode 
       $('youreElement').trigger('click'); 
      } 
     }); 

哪里youreKeyCode可以是下列任何javascript char codes的,如果你需要的快捷方式的Alt键(Shift,Ctrl ...)使用评论,如果的。 youreElement是持有您想要触发的点击事件的元素。