Javascript onclick 函数是否覆盖 if 语句

Do Javascript onclick functions override if statements?

本文关键字:if 语句 覆盖 是否 onclick 函数 Javascript      更新时间:2023-09-26

我只是尝试在单击按钮后加载一个函数,但根据值,它将调用不同的方法并执行不同的事情。

我知道该值设置为"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 语句,我们将不胜感激。

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

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