Javascript onclick函数是否覆盖if语句?

时间:2016-07-18 15:02:49

标签: javascript jquery

我只是在点击一个按钮时尝试加载一个函数,但是根据一个值,它会调用另一个方法并执行不同的操作。

我知道该值设置为“set”但是它仍然进入if语句并提交removeAttribute方法。

if (change == "set"){
            document.getElementById('close').setAttribute("data-dismiss", "modal");
            $('#\\#myModal').modal({ keyboard: false, backdrop: 'static' });
            $('#\\#myModal').modal('show');
            createPicker();
            }
            else if (change == "search"){
                document.getElementById('close').onclick = function(){
                    document.getElementById('close').removeAttribute("data-dismiss");
                    hideFields();
                }
            }

如果有人知道当价值不匹配时如何阻止它进入那个else语句,那将非常感激。

1 个答案:

答案 0 :(得分:2)

我认为问题是您已经设置了onclick一次,即使在onclick条件下,您需要做的是清除set

if (change == "set"){
       document.getElementById('close').removeEventListener("onclick");
        document.getElementById('close').setAttribute("data-dismiss", "modal");
        $('#\\#myModal').modal({ keyboard: false, backdrop: 'static' });
        $('#\\#myModal').modal('show');
        createPicker();
        }
        else if (change == "search"){
            document.getElementById('close').onclick = function(){
                document.getElementById('close').removeAttribute("data-dismiss");
                hideFields();
            }
        }