Dojo: как отключить новую кнопку

Привет, у меня есть проблема с отключением новой кнопки. Я использую Dojo 1.8

Смотрите мой код ниже: -

require(["dojo/parser", "dijit/layout/BorderContainer",
"dijit/form/Button","dojo/on","dijit/form/Select",
"dojo/store/Memory", "dojo/request","dojo/domReady!"
],
function(parser, BorderContainer, Button, on, Select, Memory, request)
{

var btn4 = new Button // Button, not button
({
    label: "Number of cards",
    this.set("disabled", false) // This code that disables the button
    },"btn4"); 
btn4.startup();
})

Я не могу найти справку в Dojo или google для нее.

Ответ 1

Во-первых, попытка вызвать this.set() в списке аргументов dijit не имеет смысла, потому что dijit еще не создан. Во-вторых, первый параметр для dijit всегда является стандартным javascript-объектом с парами ключ/значение. Попытка вставить вызов функции в середине объявления объекта - это просто синтаксическая ошибка в самом коде.

Наконец, нет необходимости вообще пытаться использовать набор диджитов. Просто установите disabled: true в свой список аргументов в Button dijit.

var btn4 = new Button({
    label: "Number of cards",
    disabled: true,
}, "btn4"); 

Смотрите Fiddle.

Ответ 2

В Dojo многое другое, как и следовало ожидать.

У кнопки есть метод setDisabled:

btn4.setDisabled(true) // disable
btn4.setDisabled(false) // enable