javascript - 用户名实时更改中 keyup() 事件和 change() 事件之间的区别

标签 javascript jquery

  • 用户名 html 字段

    Username: <input type="text" name="username" id="username" />
    
  • keyup() 事件

    $(document).ready(function(){
            $('#username').on('keyup', function(){
               var username = $("#username").val();
               alert(username);
            });
    });
    
  • change() 事件

    $(document).ready(function(){
            $("#username").change(function() {
               var username = $("#username").val();
               alert(username);
            });
    });
    
  • 我的问题是我应该使用 keyup() 事件还是 change() 事件来进行用户名验证?

最佳答案

它们几乎是一回事。在 jQuery 或 JavaScript 中,我不得不推荐 change() 事件。 你不应该使用 keyup() 的原因是如果用户使用自动填充输入一个值,它不会触发 keyup() 事件。 然而,自动填充确实触发了change()事件,您的验证脚本将运行,输入将被验证。

注意:通常,change() 会在元素失去焦点时触发。如果您想在每次按键后检查数据,您可以结合使用 keyup()change(),这样您就可以解析这两个事件的数据。在我看来,这是两全其美的做法。

希望这对您有所帮助!

关于javascript - 用户名实时更改中 keyup() 事件和 change() 事件之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26941893/

相关文章:

javascript - AngularJS ng-隐藏/显示标签/按钮如果长度(描述)< 20

javascript - Angularjs 将 $scope 分配给预先存在的 MVC 模型数据

javascript - 使 div 位置固定在 bootstrap 轮播中

javascript - 从变量值获取对

javascript - 将跨度转换为输入

javascript - 如何在书签中包含外部 javascript 文件?

javascript - AngularJS 从 Controller 打开模态

javascript - Angular 1.4 ES6 类指令

javascript - pm2 启动两个不同版本的重复进程

javascript - 如何根据此编码显示隐藏