2012-11-10 66 views
1
不工作

我寫了一個非常簡單的類選擇,這樣我可以將HTML輸入框只接受數字輸入的jQuery 1.8類選擇在Firefox

$(".numericOnly").keypress(function (e) { 
    if (e.keyCode == 13) return true; 
    if (String.fromCharCode(e.keyCode).match(/[^0-9]/g)) 
     return false;  
}); 

然後,如果你有一個輸入框,你只要將它賦值class =「numericOnly」,它將只接受數字輸入。

keyCode 13是輸入鍵,它可以防止函數攔截和阻止它。

它在Chrome中很好用,在IE9中很奇怪,但在Firefox中失敗。不知道爲什麼。沒有錯誤被拋出。

+0

在Firefox中使用'e.charCode'。 請看這裏:http://stackoverflow.com/questions/6869996/jquery-keypress-event-object-keycode-for-firefox-problem – glortho

回答

1

被按下的鍵(keyCodecharCode)的屬性名稱因瀏覽器而異。請嘗試使用event.which,以便爲您規範化。

1

keyCode在keydown和keyup處理程序中設置。 charCode設置在按鍵處理程序中,並指示輸入了哪個字符(與按下哪個鍵不同,因爲存在不同的鍵盤佈局)。