在生日输入上添加“/”,但在按下删除时删除“/”
Adding “/“ on birthday input, but delete “/“ when delete is pressed
我有这段代码,当生日的长度为 2 时添加一个“/”。但是当按下删除时,它会不断添加“/”,但我不希望这种情况发生,我想删除斜杠和前一个数字。
$("#birthday").keyup(function (){
var bLenght = $("#birthday").val().length
console.log(bLenght);
if (bLenght === 2 || bLenght == 5) {
console.log(bLenght);
$("#birthday").val($("#birthday").val()+"/");
}
});
这个有效:
$("#birthday").keyup(function (e){
if(e.which !== 46 && e.which !== 8)
{
var bLenght = $("#birthday").val().length
console.log(bLenght);
if (bLenght === 2 || bLenght == 5) {
console.log(bLenght);
$("#birthday").val($("#birthday").val()+"/");
}
}
});
您的问题是,当您按退格键或删除键时,它会删除正斜杠。然后松开按键,因为有两个字符,正斜杠被重新添加。我添加了一个 if 块来检查释放的键是退格键 (8) 还是删除键 (46),这样您就不会陷入该循环。
我有这段代码,当生日的长度为 2 时添加一个“/”。但是当按下删除时,它会不断添加“/”,但我不希望这种情况发生,我想删除斜杠和前一个数字。
$("#birthday").keyup(function (){
var bLenght = $("#birthday").val().length
console.log(bLenght);
if (bLenght === 2 || bLenght == 5) {
console.log(bLenght);
$("#birthday").val($("#birthday").val()+"/");
}
});
这个有效:
$("#birthday").keyup(function (e){
if(e.which !== 46 && e.which !== 8)
{
var bLenght = $("#birthday").val().length
console.log(bLenght);
if (bLenght === 2 || bLenght == 5) {
console.log(bLenght);
$("#birthday").val($("#birthday").val()+"/");
}
}
});
您的问题是,当您按退格键或删除键时,它会删除正斜杠。然后松开按键,因为有两个字符,正斜杠被重新添加。我添加了一个 if 块来检查释放的键是退格键 (8) 还是删除键 (46),这样您就不会陷入该循环。