2011-05-27 65 views
3

有沒有在js/jquery中如何讓這兩種按鍵組合的方法?按鍵使用JS/JQuery的組合(Escape&Shift + Escape)

Escape鍵 和 SHIFT + ESC鍵

當我實現它使用

document.onkeydown = function(e){if (e == null) {keycode = event.keyCode;} 
    else   {keycode = e.which;} 
    if(keycode == 27){closeAll();}} 

    //upon pressing shift + esc 
    $(document).bind('keypress',function(event) 
    { 
      if(event.which === 27 && event.shiftKey) 
     { 
     closetogether(); 
     } 

    }); 

逃生按鈕完美的作品,但一個用Shift + Esc鍵是越來越糊塗我想是因爲它做沒有。不要擔心函數的作用,因爲當我改變組合鍵27到90(z),例如它工作得很好。

有人可以選擇我一個更好的方式嗎?

回答

4

爲什麼不使用jQuery綁定​​事件?這樣你就可以擁有一個標準化的事件變量。您也可以在同一個處理程序中檢查shift鍵的狀態。

這些事件發回不同的鍵碼。使用keyup/keydown可通過掃描碼捕獲某些鍵,並使用keypress捕獲字符輸入的實際文本。

$(document).bind('keydown', function(event) { 
    if(event.which === 27){ 
     if(event.shiftKey){ 
      closetogether(); 
     } else { 
      closeAll(); 
     } 
    } 
}); 
+0

Spot on ........ – 2011-05-27 09:16:39