javascript 输入5个字符时执行的按键事件

hrirmatl  于 2022-12-17  发布在  Java
关注(0)|答案(3)|浏览(125)

我有一个函数,当用户在输入字段中输入5个字符时会触发该函数。
然而,每当我放置额外的字符后,5已履行它不断发射的事件。
如何防止这种情况发生?

$(function(){
    var $zipEntry = $('#zipEntry').bind('keyup',function(event) { //bind to key up, doesn't require 
    //make sure that there are 5 numbers... or length = 5 since numeric only input
    var $this = $(this); // cache $(this)
    
        if ($this.val().length == 5){ // use cached 
            console.log("There are 5 characters!!");
            $this.trigger('zipEntered'); 
        }
    });
2vuwiymt

2vuwiymt1#

尝试在侦听完事件后取消绑定该事件。

if ($this.val().length == 5){
    console.log("There are 5 characters!!");
    $this.trigger('zipEntered');
    $('#zipEntry').unbind('keyup');
}
dhxwm5r4

dhxwm5r42#

如果我没理解错的话,你应该用“大于或等于”而不是“等于”。

if ($this.val().length >= 5){
  • 还有,为什么在变量名中使用$??*
yjghlzjz

yjghlzjz3#

问题不能从源头纠正吗?在输入字段中设置一个最大长度?

相关问题