2012-04-05 9 views
1

У меня есть калибровочная диаграмма с одним указателем стрелки. Im пытается захватить событие изменения стоимости на указателе стрелки. Я попробовал методы dojo.connect() и on(), чтобы установить обработчик событий для моего датчика, но не удалось оба раза. Это то, что я сделал ...ArrowIndicator Обработка событий в Dojo

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

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

И

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

Я не получаю сообщение об ошибке или что-нибудь ... Как я должен идти об этом?

ответ

2

событие valuechange подвергается на уровне Guage диаграммы:

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

где, калибр является jsid или JS переменного, содержащего калибровочную Dijit

в зависимости от того, как вы добавляете индикаторы, это может индикаторы [1] или аналогичные

+0

Awesome !! Это мои первые шаги в Dojo и его смущение. БЛАГОДАРЯ! – lascort

+0

Великий - счастлив помочь. Да, там есть много, и хотя разработчики dojo пытаются документировать вещи, есть скрытые возможности/драгоценные камни, которые все еще там можно обнаружить :-) .. Комбинация ежедневных тестов dojo, изучающих исходный код и вики/документы будет оснащать вас всем необходимым - также додзё полностью расширяемо, поэтому вы можете переопределить части виджетов и расширить их. –

+0

Так как мы по теме. Как я могу программно изменить значение калибровки? Я попробовал как gauge.indicators [0] .set ('value', myValue), так и gauge.set ('value', myValue) – lascort

Смежные вопросы