javascript - JS中的onblur事件为什么使用Tab键跳格时无效?

 手机用户2502878095 发布于 2022-11-11 00:31

1、使用onblur进行用户输入验证的时候出现了这样的问题:

第一种操作方式:光标开始在用户名输入框,然后鼠标点击空白处:

第二种操作方式:光标在用户名输入框,然后按Tab键,跳到邮箱地址输入框:

第二种并没有触发onblur事件,这是为什么呢???


    

附上main.js的代码:

/**
 * 用户名检测
 */
function checkName(){
    var username = document.getElementById("username").value;
    if(username==""){
        document.getElementById("innerName").innerHTML = "用户名不能为空";
    }
}
/**
 * 邮箱检测
 */
function checkEmail() {
    var email = document.getElementById("email").value;
    if (email==""){
        document.getElementById("innerEmail").innerHTML = "邮箱不能为空";
    }
}

-------------------------------------------------------------------更新--------------------------------------------------------
register.jsp:


    
    


同意条款

main.js:

function checkName(){
    var username = document.getElementById("username").value;
    if(username==""){
        document.getElementById("innerName").innerHTML = "用户名不能为空";
    }
}
/**
 * 邮箱检测
 */
function checkEmail() {
    var email = document.getElementById("email").value;
    if (email==""){
        document.getElementById("innerEmail").innerHTML = "邮箱不能为空";
    }
}
/**
 * 密码检测
 */
function checkPass() {
    var password = document.getElementById("password").value;
    if (password==""){
        document.getElementById("innerPass").innerHTML = "密码不能为空";
    }

}

function insertName() {
    document.getElementById("innerName").innerHTML="";
    document.getElementById("innerPass").innerHTML="";
    document.getElementById("innerEmail").innerHTML="";
}  
2 个回答
  • 正常来说是能触发的。
    你看看是不是姓名onblur邮箱onfocus方法冲突了啊

    2022-11-12 01:52 回答
  • 乍一看, 感觉是你的代码的问题, 实际上应该就是你的代码有问题.

    亲测:

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>Document</title>
    </head>
    <body>
      <script src="jquery.min.js?1.2.1"></script>
      1: <input type="text" name="" data-id="1">
      2: <input type="text" name="" data-id="2">
      <script>
        $(function(){
          $("input").on("blur", function(){
            console.log("blur: " + $(this).data("id"));
          })
        });
      </script>
    </body>
    </html>
    2022-11-12 01:52 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有