我的javascript代码禁用文本框ix中的小数,就像这样
$(document).ready(function() {
$(".money-input").keypress(function (e) {
// between 0 and 9
if (e.which < 48 || e.which > 57) {
alert(1);
showAdvice(this, "Integer values only");
return (false); // stop processing
}
});
function showAdvice(obj, msg) {
$("#singleAdvice").stop(true, false).remove(); // remove any prev msg
$('<span id="singleAdvice" class="advice">' + msg + '</span>').insertAfter(obj);
$("#singleAdvice").delay(4000).fadeOut(1500); // show for 4 seconds, then fade out
}
});
这在Chrome中非常完美。但是当我去Mozilla时。如果是这种情况,后面的空间也会进入。所以当我按后退空间时没有任何反应,并显示错误信息。任何人都可以指出我做错了吗?
答案 0 :(得分:1)
对于不可打印的字符,keypress
事件不会触发,例如 Esc , Ctrl , Shift ,以及case,退格。
改为使用keyup()
:
$(".money-input").keyup(function(e) {
if (e.which < 48 || e.which > 57) {
showAdvice(this, "Integer values only");
return false;
}
});