
jquery 添加的class 不能触发jquery事件~!?
项目需要这样一个功能:有一个select,他的item是一些证件类别(身份证、脑残证吧比如),还有一个text的input,要求select选中身份证的时候input失去...
项目需要这样一个功能:有一个select ,他的item是一些证件类别(身份证、脑残证吧比如),还有一个text的input,要求select 选中身份证的时候input失去焦点的话要验证身份证,select选其他的时候不用验证;
因为之前其他地方还有很多验证身份证的地方儿~!所以我起初的想法是建一个css类isIDCard;然后jquery $(".isIDCard").blur(function(){
一顿检测;
});
于是乎到现在要做的这个位置我就想用select的onchange事件操作input,选中身份证的时候给他添加一个isIDCard的css,不是身份证就remove掉;但是不明白什么原因addClass和removeClass都成功的~!但是input的blur就不对了~!如果一开始input里写的有isIDCard即使remove掉blur的时候还是会检测~!如果一开始input里面没有isIDCard即使add了还是不会检测~!搞不懂了~!
其实我也知道重新写一个js方法让input blur的时候被调用更直接~!但是我觉得我这个方法代码重用性更强一些~!如果需要加别的证件验证只要加相应的css一下就行了~!搞不清楚原因很郁闷~!求高手指教~! 展开
因为之前其他地方还有很多验证身份证的地方儿~!所以我起初的想法是建一个css类isIDCard;然后jquery $(".isIDCard").blur(function(){
一顿检测;
});
于是乎到现在要做的这个位置我就想用select的onchange事件操作input,选中身份证的时候给他添加一个isIDCard的css,不是身份证就remove掉;但是不明白什么原因addClass和removeClass都成功的~!但是input的blur就不对了~!如果一开始input里写的有isIDCard即使remove掉blur的时候还是会检测~!如果一开始input里面没有isIDCard即使add了还是不会检测~!搞不懂了~!
其实我也知道重新写一个js方法让input blur的时候被调用更直接~!但是我觉得我这个方法代码重用性更强一些~!如果需要加别的证件验证只要加相应的css一下就行了~!搞不清楚原因很郁闷~!求高手指教~! 展开
2个回答
展开全部
要在onchange的时候remove掉input的blur事件
$("select").change(function(){
if(""身份证){
$("input").addClass("isIDCard").bind("blur",function(){
....
})
}else{
$("input").removeClass("isIDCard").unbind("blur");
}
})
$("select").change(function(){
if(""身份证){
$("input").addClass("isIDCard").bind("blur",function(){
....
})
}else{
$("input").removeClass("isIDCard").unbind("blur");
}
})
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询