我有拒绝任何字符,除了数字一个一个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/ –