JS,按钮绑定了事件触发后便不再受条件约束,解决jQuery按钮绑定事件后再解绑事件的问题

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();

你可能感兴趣的:(JS学习,JS,jQuery,radio,事件绑定,事件解绑)