2012-12-13 94 views
1

我希望重現我的HTML應用程序中的gmail快捷方式行爲。 如果按? ou shift + /(或shift +,在azerty鍵盤上)隱藏的div會顯示一個快捷鍵列表。 (如果您在輸入中,關鍵事件未被攔截)。重現gmail窗口快捷方式

我搜索正確攔截與jquery keydown顯示div。 在我的情況下,我的頁面的所有組件都攔截了keydown。

如何禁用其他HTML組件的keyevent? 我試過e.stopPropagation();但這沒有效果。

編輯: 我發現這個代碼,但並不功能上IE7

 $("input, textarea").keydown(function (e) { 
      e.stopPropagation(); 
     }); 


     function close_help(){ 
      $("#help:even").addClass("aou"); 
     } 

     function doKeyDown(e) { 
      if (e.keyCode == 188) { 
       $("#help:even").removeClass("aou"); 
      } 

     } 

     var input_ = document.getElementsByTagName("input").elements; 

     if ($.browser.msie && $.browser.version < 9) { 
      window.attachEvent("keydown", doKeyDown, true); 
     } 
     else { 
      window.addEventListener("keydown", doKeyDown, false); 
     } 
     input_.removeEventListener("keydown"); 

回答

0

您必須檢查

e.target.type

看如果您在輸入或頁面的其他部分。