jquery验证文本框不为空,失去焦点事件怎么只能执行一次

var name = $("input[name='name']");
var nameval = name.val();
var nameinfo = $("#nameinfo");
name.on('blur',function(){
if($.trim(nameval) == ''){
nameinfo.show();
}else{
nameinfo.hide();
}
});

因为你的定义的nameval只赋过一次值,就是开始的时候文本框没有任何输入时,将文本框里的值赋过去了,这时候nameval的值为空,之后每次blur触发事件,nameval都是最开始的值,应该在事件里重新获取文本框的值,并判断这个值是否为空,来验证是否有输入