2012-02-02 37 views
3

我在我的網站上使用了一些熱鍵,但是當用戶在搜索表單或裏面發表評論時。我想禁用它們。知道輸入是否正在使用並禁用熱鍵(jquery)

對我來說最好的做法是什麼?由於

我熱鍵的例子:

$(document).keydown(function(e) 
{ 
    if (e.which == 40 || e.which == 74) // next post 
    { 
     return scroll('next'); 
    } 

    if (e.which == 38 || e.which == 75) // prev post 
    { 
     return scroll('prev'); 
    } 
}); 

回答

3

您可以檢查event.target元素。如果該元素來自類型INPUT,則可能需要省略處理程序代碼。可能看起來像

$(document).keydown(function(e) 
    { 
     if(e.target.nodeName !== 'INPUT') { 
      if (e.which == 40 || e.which == 74) // next post 
      { 
       return scroll('next'); 
      } 

      if (e.which == 38 || e.which == 75) // prev post 
      { 
       return scroll('prev'); 
      } 
     } 
}); 
+0

完美,非常感謝你。 – Tahola 2012-02-02 11:35:11

2

您可以檢查是否(觸發輸入字段內的事件)e.target.nodeName === INPUT並採取相應的行動

相關問題