Използвам управление на плъзгача YUI в моето приложение. Искам да деактивирам отметките на плъзгача, така че потребителят да не може да го премести въз основа на състоянието на моето приложение. Как да стане това? Моля някой да ми помогне.
Как да деактивирате отметката на плъзгача в YUI?
Отговори (3)
Има метод, наречен lock()
вижте http://developer.yahoo.com/yui/docs/YAHOO.widget.Slider.html#method_lock за това
казахте, че сте го пробвали, но как точно нарекохте този метод?
Да, знам, че вече е малко късно, но е по-добре от никога. Опитах се да разреша този проблем с часове. надявам се моето решение да помогне.
Lock() на плъзгача може да деактивира взаимодействието с плъзгане/натискане/щракване на плъзгача, но по някакъв начин ще lock() при събитие 'slideStart'. По този начин, въпреки че извиквате slider.setValue(), за да попълните стойността на плъзгача, той винаги ще lock() в най-лявата позиция, напр. 0.
IMO, най-добрият начин да го направите е както следва:
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()});