Я использую ползунок YUI в своем приложении. Я хочу отключить ползунок, чтобы пользователь не мог перемещать его в зависимости от состояния моего приложения. Как это сделать? Пожалуйста, помогите мне.
Как отключить ползунок в YUI?
Ответы (3)
Есть метод lock().
см. http://developer.yahoo.com/yui/docs/YAHOO.widget.Slider.html#method_lock для этого
вы сказали, что пробовали, но как именно вы вызвали этот метод?
Да, я знаю, что уже поздно, но это лучше, чем никогда. Я пытался решить эту проблему часами. Я надеюсь, что мое решение поможет.
Блокировка ползунка () может отключить взаимодействие перетаскивания / ввода / щелчка ползунка, но он каким-то образом заблокирует () в событии 'slideStart'. Таким образом, даже если вы вызываете slider.setValue() для заполнения значения ползунка, он всегда будет lock() в крайнем левом положении, например. 0.
ИМО, лучший способ сделать это следующим образом:
slider.setValue(100, false); if(!writePermission) { slider.subscribe('slideEnd', function(){slider.lock();}); //locks slider when it ends the drag animation }
Решение timmow работает только в том случае, если пользователь щелкает фон ползунка, но пользователь все еще может перетаскивать ползунок большим пальцем.
Вам необходимо подписаться на события, запускаемые ползунком — они задокументированы здесь, а также здесь, поскольку ползунок наследуется от виджета перетаскивания
Например, следующее должно работать
YAHOO.widget.Slider.cutslid.subscribe('b4MouseDownEvent', function() {YAHOO.widget.Slider.cutslid.lock()});