Существует только один способ отключения или включения кнопки. Итак, если вы ищете отдельный способ окончательно отключить кнопку (но оставьте ее видимой), которая переопределит настройку .disabled
на true - такого свойства или функции для кнопки нет.
Существует множество способов исправить ваш код. Например, когда вы хотите окончательно отключить кнопку, вы можете установить собственный атрибут на кнопке, а затем всюду, о которой вы думаете о включении кнопки, вы можете просто проверить этот настраиваемый атрибут, и если он установлен, не включайте кнопку.
Другие варианты, которые вы могли бы рассмотреть, скрывают кнопку или удаляют кнопку из DOM.
Вы можете исправить свой код, сделав свой собственный постоянный запрет в своем собственном коде. Если вместо прямого использования свойства .disabled
вы просто переключаетесь на использование этих функций, тогда ваш код будет уважать свойство .permDisabled
.
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;
}
}
Это не ваша проблема. Проблема заключается в дизайне. – Will
ОК ... так что мне делать, чтобы исправить это? – CPC
_ "но в некоторых частях документа я отменяю это" _. Так что не делай этого. – j08691