我有拒絕任何字符,除了數字一個一個JavaScript函數:力數值只js函數無法在Firefox,但在Chrome瀏覽器和IE瀏覽器工作正常
$(".number").keypress(this.EnsureNumbers);
EnsureNumbers: function (event) {
var value = $(this).first().val();
value = value.substring(0, $(this)[0].selectionStart) + String.fromCharCode(event.keyCode) + value.substring($(this)[0].selectionEnd);
if (!value.match(/^\d+$/)) {
event.preventDefault();
}
}
此功能允許用戶(如果使用了鍍鉻/ IE)選擇數字的任何部分(使用SHIFT鍵)並更改選定的數字/字母。
但在Firefox中,此方法不允許我按退格鍵或使用左/右鍵。
再次,在Chrome和IE(甚至IE8)工作正常。有誰知道是Direfox中的一個錯誤?或者它來自我?
我的Firefox 22
例子,看看在:http://jsfiddle.net/TR8t4/
即時將關鍵代碼轉換爲字符串,即使它是特殊字符(如Backspace或箭頭),然後檢查它是否爲數字。你應該只打印字符。 – Barmar
爲什麼在Chrome瀏覽器甚至IE瀏覽器上都可以使用?我現在使用Safari和Opera進行測試,並使用上述代碼完美工作。 –
event.which http://api.jquery.com/event.which/ –