我有一个 javascript 函数,它拒绝除数字一个以外的任何字符:
$(".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();
}
}
此功能允许用户(如果使用 Chrome/IE)选择数字的任何部分(通过使用 SHIFT 键)并更改所选数字/字母。
但在 Firefox 中,这种方法不允许我按 Backspace 或使用左/右键。
同样,在 Chrome 和 IE(甚至 IE8)中工作正常。有谁知道 Direfox 中的一个错误?还是来自我?
我有 Firefox 22。
例如,看一下:http: //jsfiddle.net/TR8t4/