javascript - JQuery .blur() 不工作

标签 javascript jquery blur

基本上,我在 Jquery 中的 Blur() 函数没有被激活。我的代码如下,我正在使用特殊的 .notify jquery 添加。我认为函数的实际主体没有任何问题,但它更多地与 .blur() 函数本身有关。

$(document).ready(function(e) {
		
  $("#verifypassword").blur(function(e) {
  var password1=document.getElementById("password").value;
  var password2=document.getElementById("verifypassword").value;
    if(password1!=password2){
	   $("#verifypassword").notify("Passwords do not match.");
    }
    else{
       $("#verifypassword").notify("Passwords match!");
    }
   });
});

		
		
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>The KGV Connection</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css" />
<script src="jquery-2.1.1.min.js"></script>
<script src="animation.js"></script>
<script src="notify.js"></script>
</head>

<body>

<script type="text/javascript">
function makeitpassword(){
	var passform= document.getElementById("passcontainer");
	passform.innerHTML="<input type=\"password\" class=\"signuser\"id=\"password\" value=\"\"/>";
	document.getElementById("password").focus();
	}
function makeitpassword2(){

		var passform= document.getElementById("passcontainer2");
	passform.innerHTML="<input type=\"password\" class=\"signuser\" id=\"verifypassword\" value=\"\" onfocus=\"makeitpassword2()\"/>";
	document.getElementById("verifypassword").focus();

	}

</script>
  <div class="signup">
<h1 class="signheader">Sign Up</h1>
<br />
<form id="signup" action="signup.php" method="post">
<input type="text" class="signuser" name="username" value="Username"/>
<div id="passcontainer">
<input type="text" class="signuser" value="Password" id="password" onfocus="makeitpassword()" name="Password"/>
</div>

<div id="passcontainer2">
<input type="text" class="signuser" id="verifypassword" onfocus="makeitpassword2()" value="Repeat Password" name="VerifyPassword"/>
</div>

<input type="email" class="signuser" value="Email" name="Email"/>

<br />

<br />
<input type="submit" value="Sign Up" class="logsubmit"/>
</form>
</div>

  </body>

最佳答案

您的 onblur 不起作用,因为它未设置为密码元素。当用户点击您的密码输入时,它们会被您的 makeitpassword#() 函数替换为新密码。这会导致原始元素被删除,并且新元素不会附加模糊效果。失去 onfocus 事件就可以了!

如果您想在输入中显示消息,请使用占位符:

<input type="password" placeholder="password here">

关于javascript - JQuery .blur() 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28645725/

相关文章:

javascript - Angularjs 对点击进行过滤

javascript - 验证带有复选框和文本字段的动态 php 网格

javascript - 我如何渲染 Bootstrap 切换

javascript - 使用 jquery 验证多次上传的文件大小

Jquery CSS .animate li div

android - 模糊 ArcGIS map View

javascript - 代码重复太多

javascript - 多行 jquery 工具提示

ios - Ionic 框架 ion-scroll pinch to zoom 在 iOS 上会导致图像模糊。

jquery - Chrome/Safari模糊功能支持在jquery中检查