2013-07-19 132 views
10

您好,我無法將新按鈕設置爲禁用。 我使用道場1.8Dojo:如何設置禁用新按鈕

見下面我的代碼: -

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(); 
}) 

我不能在道場找到幫助或谷歌它。

回答

6

首先,試圖在dijit的參數列表中調用this.set()沒有意義,因爲dijit尚未創建。其次,dijit的第一個參數始終是包含鍵/值對的標準JavaScript對象。嘗試在對象聲明中插入函數調用只是代碼本身的語法錯誤。

最後,根本沒有必要嘗試使用dijit的setter。只需在您的參數列表中將disabled: true設置爲Button dijit即可。

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

看到這個Fiddle

14

在Dojo中,很多事情都是你期望的。

按鈕有方法setDisabled

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

令人驚訝的是,你是對的。我可以用button.set('disabled',true)禁用一個按鈕,但不能用button.set('disabled',false)重新啓用它 - 它似乎在某處轉換爲false => null。 button.setDisabled(false)方法起作用。我認爲這是一個道場錯誤。 –