Javascript 是否可以永久禁用html按钮?

Javascript 是否可以永久禁用html按钮?,javascript,html,button,Javascript,Html,Button,我是编程新手,所以我知道的不多,但我想知道是否有办法永久禁用按钮。我用过这个: document.getElementById("WhateverTheIdIs").disabled = true; 但在文件的某些部分,我使用以下方法来推翻: document.getElementById("WhateverTheIdIs").disabled = false; 我需要一些可以覆盖它的东西,然后永久禁用按钮。有办法做到这一点吗?您试图将太多的逻辑推入DOM。这是非常糟糕的做法。确保您的数据模

我是编程新手,所以我知道的不多,但我想知道是否有办法永久禁用按钮。我用过这个:

document.getElementById("WhateverTheIdIs").disabled = true;
但在文件的某些部分,我使用以下方法来推翻:

document.getElementById("WhateverTheIdIs").disabled = false;

我需要一些可以覆盖它的东西,然后永久禁用按钮。有办法做到这一点吗?

您试图将太多的逻辑推入DOM。这是非常糟糕的做法。确保您的数据模型与您正在建模的数据模型相匹配。设置一个布尔值:
所有按钮都被禁用
,然后布尔值
按钮被禁用
,然后执行如下操作:

function updateButtonX() {
    document.getElementById("WhateverTheIdIs").disabled =
      all_buttons_are_disabled || button_X_is_disabled;
}


toggleX
将禁用/启用
buttonX
,但当您按下
禁用所有按钮时,所有按钮都将永久禁用。

禁用或启用按钮的方法只有一种。因此,如果您正在寻找一种单独的方法来永久禁用按钮(但使其保持可见),该方法将覆盖设置
.disabled
为true-按钮没有此类属性或功能

有很多方法可以修复代码。例如,当您想永久禁用按钮时,可以在按钮上设置自定义属性,然后在您想到启用按钮的任何地方,您都可以检查该自定义属性,如果已设置,则不启用按钮

< >您可以考虑的其他选项是隐藏按钮或从DOM删除按钮。

您可以通过在自己的代码中永久禁用自己的代码来修复代码。如果您不直接操作
.disabled
属性,而是切换到使用这些函数,那么您的代码将尊重
.permdabled
属性

function getElem(elem) {
    if (typeof elem === "string") {
        elem = document.getElementById(elem);
    }
    return elem;
}

function disableButtonPermanent(elem) {
    elem = getElem(elem);
    elem.disabled = true;
    elem.permDisabled = true;
}

function disableButton(elem) {
    elem = getElem(elem);
    elem.disabled = true;
}

function enableButton(elem) {
    elem = getElem(elem);
    if (!elem.permDisabled) {
        elem.disabled = false;
    }
}

那不是你的问题。问题是设计。好的。。。那么我该怎么做才能修复它呢?“但在文档的某些部分,我颠倒了它”。所以不要这样做。@user3130551:找一台时间机器,去抓住你未来的自我,把他拖到现在,向他展示你的设计,看着他畏缩。对我有用。我需要反转所有的按钮,但我需要反转所有的按钮。但是如果它进入某些if语句,我需要永久禁用按钮,但是如果它没有进入if语句,我需要它来启用每个按钮/登录/逻辑?我不确定。我真的不明白你的意思。ButtonX被禁用是两件事的结果:所有按钮都被禁用,或者ButtonX被禁用。分别对这些方面进行建模。不要试图将其推到HTML的disabled属性中,因为您无法区分这些情况。正如我前面所说,我对编程是新手,我真的很困惑这有点尴尬,但我只是想到了一个与您所说的完全无关的想法,但感谢您的帮助。