DojoToolkit AccordionContainer

Насколько легко сделать так, чтобы AccordionContainer, поставляемый с Dojotoolkit, скользил вверх и вниз при наведении мыши на заголовок, а не при щелчке мыши на панели заголовка.


person kalyang    schedule 27.05.2009    source источник


Ответы (1)


Это довольно просто, но требует подключения к полуприватному свойству _buttonWidget для каждой дочерней панели, поэтому я не могу гарантировать, что будущие версии инструментария не сломают его. Тем не менее, я протестировал версию Dojo 1.3 на CDN AOL.

По сути, после того, как вы вызвали startup() в своем AccordionContainer, вы просто перебираете его дочерние элементы и подключаете _buttonWidget каждого дочернего элемента к анонимному обработчику событий onMouseOver:

aContainer.getChildren().forEach(function(child){ 
    dojo.connect(child._buttonWidget, "onMouseOver", function(){
        aContainer.selectChild(child);
    });
});

Полный пример находится здесь

person Rylee Corradini    schedule 18.06.2009
comment
@Ryan, большое спасибо за ответ. Я переключился на jQuery Accordion и смог быстро заставить его работать. Я чувствовал, что AccordionContainer из dojotoolkit — это излишество. - person kalyang; 23.08.2009
comment
Да, виджеты Dojo иногда имеют тенденцию к чрезмерной инженерии. В любом случае, рад, что вы нашли решение, которым вы довольны. - person Rylee Corradini; 27.08.2009