Я делал что-то вроде
widget.disabled = (condition)?"disabled":"";
(На самом деле мой код отличается, но он выполнял аналогичные функции.)
Это было вызвано тем, что виджет dijit не мог знать, когдаКод изменил атрибут напрямую.Плохо, что я сделал это напрямую вместо использования set
API (Это относится только к виджетам dijit, возможно, мне следует изменить свой вопрос на конкретный?).
widget.set("disabled", condition);
Я также добился успеха благодаряделать dojo.removeClass(widget, "dijitDisabled");
(с большим количеством классов для состояния «отключено»), но этот подход наивен, и в итоге я получил вышеупомянутое решение, которое является хорошим, стандартным и кратким.