2012-06-25 62 views
0
$(document).keypress(function (e) { 
     if (e.which == 13) { 
      filtruj(); 
      return false; 
     } 
     return false; 
    }); 

無論何時用戶按下Enter鍵並阻止頁面提交,我都想撥打filtruj()按鍵事件阻止所有鍵盤按鍵

通常在單擊<a href="#" id="filterButton" onclick="filtruj();" class="t-button t-grid-add">Filtruj</a>元素時調用此函數。

現在發生的情況是,我無法在表單域中的任何位置輸入內容。

回答

5

刪除最後的return false,您正在防止輸入所有密鑰。

$(document).keypress(function (e) { 
    if (e.which == 13) { 
     filtruj(); 
     return false; 
    } 
}); 
+0

微不足道的答案。刪除我的,因爲你打我幾秒鐘;) –

+0

這是一些很棒的答案男人,謝謝。 – Mirage

3

刪除最後一個return false;

這將導致e.preventDefault(),這順便說一句應該足夠在你的第一種情況下也是如此。

return false;也將導致e.stopPropagation(),你不需要。

+1

從[documentation](http://api.jquery.com/keypress/):「jQuery對'.which'屬性進行規範化處理,以便您可以可靠地使用它來檢索字符代碼。 – nnnnnn