$(function(){
$('input').bind('blur',function(){
alert('离开了!');
})
})
有没有办法阻止“blur”的发生?例如点击一个按钮的时候,“blur”事件没有发生........
你既然给input 注册了blur事件 在失焦时一定会触发 blur事件中的方法,但是执不执行里面的方法你是可以决定的 直接return false
你是想让事件发生?还是不想让事件发生?可以unbind,可以在方法里return false
上面的只是打个比喻,我只是有这样的情况:注册时候输入邮箱,邮箱输入框已经绑定“blur”事件,当失去焦点时,就会对邮箱进行验证,但是我现在加了一 个热门邮箱后缀功能,点击下拉框里面的邮箱后缀时,也触发了"blur"对邮箱进行验证,(验证的是没有邮箱后缀的那部分,所以格式错误),我要怎样处理 这个问题呢
可以在blur的时候retuen false;
事件不可以取消,但是可以重写。
上面的只是打个比喻,我只是有这样的情况:注册时候输入邮箱,邮箱输入框已经绑定“blur”事件,当失去焦点时,就会对邮箱进行验证,但是我现在加了一 个热门邮箱后缀功能,点击下拉框里面的邮箱后缀时,也触发了"blur"对邮箱进行验证,(验证的是没有邮箱后缀的那部分,所以格式错误),我要怎样处理 这个问题呢
@banyan.rong: 在blur的时候,判断下一下事件源是否是你的下拉框容器,如果是,return false,阻止blur事件继续执行、
$('input').unbind('blur');//取消一个事件
上面的只是打个比喻,我只是有这样的情况:注册时候输入邮箱,邮箱输入框已经绑定“blur”事件,当失去焦点时,就会对邮箱进行验证,但是我现在加了一个热门邮箱后缀功能,点击下拉框里面的邮箱后缀时,也触发了"blur"对邮箱进行验证,(验证的是没有邮箱后缀的那部分,所以格式错误),我要怎样处理这个问题呢
@banyan.rong: 那你就只验证邮箱的全半部分
@ArnoldZhang: 点击时候验证前半部分,如果人家不点击,直接输入邮箱后缀呢?再重新写一个验证函数吗?