我编写了这个小脚本,检查用户是否输入了0或1.如果是其他任何内容,则将其更改为0:
$('.lcdnum1').keyup(function(){
if (!($(this).val()==='0' || $(this).val()==='1')){
$(this).val('0');
}
});
我唯一不喜欢的是你首先看到“坏”角色。如果您键入“x”,它会短暂显示“x”,然后它会消失,并被替换为0.
这是我的测试网址,用于演示正在发生的事情: http://sterlingmodular.com/test/plan-series-build.asp?console=PLNUno&woodtrim=TOBA&speakerplatform=SPSA&lcd4=1
如何修改它以使其对用户来说更平滑?即,“坏”角色不应该首先显示出来。谢谢!
答案 0 :(得分:2)
答案 1 :(得分:2)
只需对您正在使用的事件进行一些调整,您正在使用密钥,这意味着在密钥被释放后,它将运行检查。但是,如果您在释放密钥之前运行检查,您将获得所需的结果。
$('.lcdnum1').keydown(function(){
if (!($(this).val()==='0' || $(this).val()==='1')){
$(this).val('0');
}
});
答案 2 :(得分:1)
$('.lcdnum1').keyup(function(){
var value = $.trim(this.value);
if (value != '1' ){
$(this).val('0');
}
});
<强> DEMO 强>