11

嗨,我无法将新按钮设置为禁用。我正在使用 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 或谷歌上找不到帮助。

4

2 回答 2

16

在 Dojo 中,许多事情与您所期望的不同。

按钮有方法setDisabled

btn4.setDisabled(true) // disable
btn4.setDisabled(false) // enable
于 2013-07-22T09:14:57.647 回答
7

首先,尝试this.set()在 dijit 的参数列表中调用是没有意义的,因为 dijit 尚未创建。其次,dijit 的第一个参数始终是具有键/值对的标准 javascript 对象。试图在对象声明的中间插入函数调用只是代码本身的语法错误。

最后,完全没有必要尝试使用 dijit 的 setter。只需disabled: true在您的参数列表中设置Buttondijit。

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

看到这个小提琴

于 2013-07-19T04:04:10.713 回答