2013-07-19 16 views
10

Witam Mam problem z ustawieniem nowego przycisku na wyłączony. Używam Dojo 1.8Dojo: jak ustawić, aby wyłączyć nowy przycisk

Zobacz mojego kodu poniżej: -

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

nie mogę znaleźć pomoc w Dojo lub google dla niego.

Odpowiedz

6

Po pierwsze, próba wywołania this.set() w liście argumentów dijit nie ma sensu, ponieważ dijit nie został jeszcze utworzony. Po drugie, pierwszym parametrem dla dijit jest zawsze standardowy obiekt javascript z parami klucz/wartość. Próba wstawienia wywołania funkcji w środku deklaracji obiektu jest po prostu błędem składni w samym kodzie.

Wreszcie, nie ma potrzeby, aby spróbować w ogóle korzystać z ustawiacza dijita. Wystarczy ustawić disabled: true na liście argumentów na Button dijit.

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

Zobacz to Fiddle.

14

W Dojo wiele rzeczy jest innych, niż można się spodziewać.

Przycisk mieć metodę setDisabled:

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

dziwo, masz rację. Mógłbym wyłączyć przycisk z button.set ("wyłączony", prawda), ale nie mogłem go ponownie włączyć za pomocą button.set ("wyłączono", false) - wydaje się, że gdzieś gdzieś podano false => null. Działa metoda button.setDisabled (false). Zakładam, że jest to błąd dojo. –

Powiązane problemy