Jquery 当使用backspace或delete按钮删除输入号码时,如何将默认值设置为零?
我有一个输入数字,它应该总是默认值为零 如果用户执行了backspace或delete按钮并删除了该值,我如何将默认值0设置为back 这是我的密码Jquery 当使用backspace或delete按钮删除输入号码时,如何将默认值设置为零?,jquery,Jquery,我有一个输入数字,它应该总是默认值为零 如果用户执行了backspace或delete按钮并删除了该值,我如何将默认值0设置为back 这是我的密码 $(document).ready(function () { $(".numbersonly").keypress(function (e) { if(this.value.length=='0') { $(this).val('0'); return false; }
$(document).ready(function () {
$(".numbersonly").keypress(function (e) {
if(this.value.length=='0')
{
$(this).val('0');
return false;
}
if(this.value.length==2) return false;
if (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) {
//display error message
$("#errmsg").html("Digits Only").show().fadeOut("slow");
$(this).val('0')
return false;
}
});
});
$(文档).ready(函数(){
$(“.numbersonly”)。按键(功能(e){
if(this.value.length=='0')
{
$(this.val('0');
返回false;
}
if(this.value.length==2)返回false;
如果(e.which!=8&&e.which!=0&&e.which<48 | e.which>57)){
//显示错误消息
$(“#errmsg”).html(“仅限数字”).show().fadeOut(“慢”);
$(this.val('0'))
返回false;
}
});
});
这是我的小提琴
使用
keyup
而不是keypress
,它可以解决您的问题
keydown
和keydup
事件表示按键被按下或释放,而keypress
事件表示正在键入的字符
检查以下答案:
这些活动的目的完全不同。使用
keypup
和keypdown
识别物理键,使用keypress
识别键入的字符。这两项任务根本不同,事件也不同;不要试图把两者混为一谈。特别是,keyCode
上的keyCode
事件通常是多余的,不应使用(旧IE除外,但有关更多信息,请参阅下面的链接文档);对于可打印的按键,它通常与which
和charCode
相同,尽管浏览器之间存在一些差异。使用keyup
而不是keypress
,它解决了您的问题
keydown
和keydup
事件表示按键被按下或释放,而keypress
事件表示正在键入的字符
检查以下答案:
这些活动的目的完全不同。使用
keypup
和keypdown
识别物理键,使用keypress
识别键入的字符。这两项任务根本不同,事件也不同;不要试图把两者混为一谈。特别是,keyCode
上的keyCode
事件通常是多余的,不应使用(旧IE除外,但有关更多信息,请参阅下面的链接文档);对于可打印的按键,它通常与which
和charCode
相同,尽管浏览器之间存在一些差异。如果用户离开输入框,并且输入框中没有这样的值,则始终可以放回0:
$(document).ready(function() {
$(".numbersonly").keyup(function(e) {
if (this.value.length > 2) {
$("#errmsg").html("Digits Only").show().fadeOut("slow");
$(this).val($(this).val().substr(0, this.value.length - 1));
return false;
}
});
$(".numbersonly").blur(function() {
console.log("blur")
if ($(this).val() == "") {
$(this).val('0')
}
})
});
模糊功能会在用户单击输入框外部后检查输入框。如果用户离开输入框,并且输入框中没有值,则始终可以将0放回:
$(document).ready(function() {
$(".numbersonly").keyup(function(e) {
if (this.value.length > 2) {
$("#errmsg").html("Digits Only").show().fadeOut("slow");
$(this).val($(this).val().substr(0, this.value.length - 1));
return false;
}
});
$(".numbersonly").blur(function() {
console.log("blur")
if ($(this).val() == "") {
$(this).val('0')
}
})
});
模糊功能在用户单击输入框外部后检查输入框。此代码不起作用(无法添加新的两位数)。我已更新了代码,您可以在此处找到:谢谢,添加$(此).focus()有意义吗;在$(this.val('0')之后?我认为它不起作用,也不认为这是一种好的做法。此代码不起作用(无法添加新的两位数)。我已更新了我的代码,您可以在这里找到它:谢谢,添加$(this.focus())有意义吗;$(this).val('0')?我认为它不起作用,也不认为这是一种好的做法。谢谢,但此代码不起作用(无法添加新的两位数)。谢谢,但此代码不起作用(无法添加新的两位数)