JS,按钮绑定了事件触发后便不再受条件约束,解决jQuery按钮绑定事件后再解绑事件的问题
问题描述:
我是JS小白,JS基本边学边用,本来想在页面实现按钮间的联动效果,感觉遇到奇葩问题,我将按钮事件的触发写在了if判断里,然后奇怪的事发生了,只要该if条件执行一次,该事件的触发便不再受到if约束,也就是在if的其他分支该事件也一直会触发
解决方法:
在按钮绑定事件后,当该if语句执行完,对按钮解除绑定,使用unbind()方法
代码片段:
else if (type == 6) {
$("#case_radio").show();
$("#radio_case_a").show();
$("#radio_case_b").show();
$("#case_radio").click(function () {
radio_case_b = $('#radio_case_b').is(':checked');
radio_case_a = $('#radio_case_a').is(':checked');
})
$("#case_radio").change(function () {
if (radio_case_b) {
$("#case_radio6").show();
$("#phrase_check").hide();
$("#widely_check").show();
$("#exact_check").show();
}
else {
$("#case_radio6").show();
$("#exact_check").show();
$("#phrase_check").show();
$("#widely_check").show();
}
})
}
当type为6时radio的change事件便被触发,之后不再受type为6的条件约束,将该语句放在条件判断外,便可以实现按钮联动效果,type不为6时该事件不再触发:
$("#case_radio").unbind();