2012-04-05 14 views
1

Ich habe eine Messkurve, die einen Pfeil Indikator hat. Ich versuche, das Wertänderungsereignis auf dem Pfeilindikator zu erfassen. Ich habe dojo.connect() und on() -Methoden ausprobiert, um den Event-Handler für mein Messgerät einzustellen, aber beide Male fehlgeschlagen. Das ist, was ich tat ...ArrowIndicator Ereignisbehandlung in Dojo

var arrow = new dojox.gauges.AnalogArrowIndicator({....}); 

dojo.connect(arrow, 'change', handlerFunction); 

UND

var arrow = new dojox.gauges.AnalogArrowIndicator({....}); 
define(["dojo/on"], function(on){ 
on(arrow, "change", myHandleFunction); 
}); 

Ich erhalte keine Fehlermeldung oder etwas ... Wie soll ich über diese gehen?

Antwort

2

wird das Valuechange Ereignis am guage Planebene ausgesetzt:

dojo.connect(gauge.indicators[0], "valueChanged", dojo.hitch(gauge, function(){ 
    //new value is in this.indicators[0].value 
})); 

wo Messgerät ist die JSID oder js Variable das Messgerät dijit hält

je nachdem, wie Sie die Indikatoren hinzufügen, könnte es seien Sie Indikatoren [1] oder ähnlich

+0

Ehrfürchtig !! Dies sind meine ersten Schritte im Dojo und es ist irgendwie verwirrend. VIELEN DANK! – lascort

+0

Großartig - glücklich zu helfen. Ja, da ist viel drin und obwohl die Dojo-Entwickler versuchen, Dinge zu dokumentieren, gibt es versteckte Features/Edelsteine, die es noch zu entdecken gibt :-) .. Eine Kombination aus Dojo-Nacht-Tests, dem Quellcode und den Wiki/Dokumenten wird dich mit allem ausrüsten, was du brauchst - auch Dojo ist komplett erweiterbar, also kannst du Teile der Widgets überschreiben und sie erweitern. –

+0

Da sind wir bei dem Thema. Wie gehe ich vor, um den Wert des Messgeräts programmgesteuert zu ändern? Ich habe versucht, beide gauge.indicators [0] .set ('value', myValue) und gauge.set ('value', myValue) – lascort