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=""; }
正常来说是能触发的。
你看看是不是姓名的onblur
跟邮箱的onfocus
方法冲突了啊
乍一看, 感觉是你的代码的问题, 实际上应该就是你的代码有问题.
亲测:
<!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>