2011-12-23 146 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是持有您想要觸發的點擊事件的元素。