2013-07-22 169 views
1

我想在我的網站中使用鍵盤功能鍵。那麼如何在我的網站上實現鍵盤功能快捷鍵。感謝大家.......如何在網站上實現鍵盤功能快捷鍵?

+0

爲此,您可以使用javascript。 – Orangepill

+0

您能詳細說明「鍵盤功能快捷鍵」的含義嗎?你想在你的網站上創建關鍵的鍵盤快捷鍵,例如「Ctrl + N」或「Alt + N」嗎? –

+0

http://www.sitepoint.com/forums/showthread.php?259973-Detect-Fn-keys –

回答

2

使用JavaScript:

// event.type should be keypress 
function getChar(event) { 
    if (event.which == null) { // IE 
     if (event.keyCode < 32) return null; // special character 
      return String.fromCharCode(event.keyCode) 
    } 

    if (event.which != 0 && event.charCode != 0) { // not IE 
     if (event.which < 32) return null; // special character 
      return String.fromCharCode(event.which); // other 
    } 

    return null; // special character 
} 

對於控制鍵使用:event.shiftKey,event.ctrlKey,event.altKey或event.metaKey。

+0

我想在我的網站上使用像ctrl,shift,F1,F2等功能鍵....... .. –

1

好。如果你不知道jquery,我會建議你先學習javascript。 鍵盤上有非常關鍵的鍵碼。您只需要檢測按下哪個鍵的按鍵,並根據按下哪個鍵來添加遊戲功能。 List of all buttons

InGeneral - >

document.onkeydown = function(evt) { 
    evt = evt || window.event; 
    if (evt.keyCode == "any of the above key") { 
     alert("some key pressed"); 
//your functionality goes here!!! 
    } 
}; 

你想要的東西 - >

$('#someelement').bind('click', function(event){ 
    if(event.ctrlKey) 
     alert('ctrl pressed'); 
    if(event.altKey) 
     alert('alt pressed'); 
    if(event.shiftKey) 
     alert('shift pressed'); 

}); 
0

如果你是開放的使用jQuery,那麼它可以是一個簡單一點。

爲了能夠捕獲複合鍵,您必須首先在控制鍵上查找keydown並存儲狀態。然後在常規密鑰上查找keydown並根據存儲狀態進行檢查。一旦有密碼,重置控制狀態。

這裏是你如何能做到這一點的例子:

// Bind keyup to document to trap shortcut keys for various operations 
$(document).keyup(function (e) { 
    IsCtrl = false; 
    IsShift = false; 
}).keydown(function (e) { 

    // first capture Ctrl 
    if (e.which == 17) { IsCtrl = true; } 

    // now capture Shift 
    if (e.which == 16) { IsShift = true; } 

    switch (e.which) { 

     // now capture S and if Ctrl is pressed                                               
     case 83: 
      if (IsCtrl) { alert("Ctrl S pressed"); } 
      if (IsShift) { alert("Shift S pressed"); } 
      e.preventDefault(); 
      break; 

     // capture F1                                               
     case 112: alert("Heellllppp!"); e.preventDefault(); break; 

     // capture ESC                                               
     case 27: alert("Escape!"); e.preventDefault(); break; 
    } 
}); 

其中「IsCtrl」和「IsShift」是在全球範圍內的變量。上面的代碼專門檢查控制鍵。如果您想檢查更多組合(包括),請更改檢查控制鍵狀態的部分。功能鍵從112(f1)開始。您可以通過參考@MESSIAH發佈的圖表來獲取其他鍵碼。

希望有所幫助。

+0

感謝每一個。 –