Когда происходит событие onChange
, виджет уже изменил свои внутренние значения, что делает практически невозможным обнаружение каких-либо изменений здесь. Но я написал небольшой обходной путь, чтобы определить, перемещался ли ползунок справа налево.
Вы должны поместить этот код в ваш обработчик onChange
. Он сохраняет текущее значение в атрибуте данных на самом виджете. Когда происходит другое изменение, оно будет проверено на соответствие новому значению и обновлено новым значением. Таким образом, вы можете сравнить предыдущее значение (также может быть начальным) с новым значением.
Надеюсь, это работает для вас!
// find dojo widget
var w = dijit.byId("#{id:djHorizontalSlider1}");
// get previous value from attribute (or default value)
var previousValue = dojo.attr(w.domNode,"data-prev-value") || w.params.value;
// log info about current and previous value
console.log("new value=" + thisEvent);
console.log("previous value=" + previousValue);
//save new value
dojo.attr(w.domNode,"data-prev-value",thisEvent);
// check value
if(parseInt(thisEvent) < parseInt(previousValue)){
alert("Detected slide right to left! new value="+thisEvent+", old value="+previousValue);
}