jquery源代码如下:
$("#userNumber").click(function(){
$(this).mouseleave(function(){
var phone = $("#userNumber").val();
if(!isMobileNumber(phone)){
$("#promptWindow").css("display","block");
$("#warning").text("请输入有效的手机号码!");
return;
}else{
$("#promptWindow").css("display","none");
}
});
});
代码的用意就是在点击用户名输入框的前提下,才触发mouseleave事件。当点击过输入框一次之后,下次在将鼠标移动用户输入框,不需要点击事件,就可以触发Mouseleave事件。效果图如下:
这是因为当点击用户输入框的时候,就给id=userNumber这个对象绑定了mouseleave事件。所以想达到“下次在点击输入框然后才触发mouseleave事件”,就得在上次动作结束时,给对象解除mouseleave事件。
如下代码:
$("#confirmBtn").click(function(){
$("#promptWindow").fadeOut();
$("#userNumber").unbind("mouseleave");
});
这是点击提示框的“确定”按钮id=
confirmBtn时,给对象id=
userNumber
解除绑定的mouseleave 事件