2014-01-03 2 views
3

У меня возникли проблемы с получением выпадающего списка, которое должно быть привязано должным образом в приложении ember js, потому что у меня есть обработчики action при щелчке внутри списка, а события фонда конфликтуют.Как вы можете вручную переключить раскрывающееся меню Foundation 5 в javascript (внутри приложения emberjs)?

Имя шаблона:

<a data-dropdown="groupDrop" id="groupDropdownLink" class="button radius tiny success dropdown"> 
    Move Selected To Group ({{selectedCount}}) 
</a> 
<br> 
<ul id="groupDrop" data-dropdown-content class="f-dropdown"> 
    {{#each eventGroups}} 
    <li {{action 'moveToGroup' this}}><a>{{name}}</a></li> 
    {{/each}} 
</ul> 

Когда я бегу $ (документ) .foundation() переопределяет обработчики действий, и когда я извлекаю, что не вызывает ниспадающее меню.

Что мне нужно сделать, это добавить обработчик действий в тег a, а затем открыть его в раскрывающемся списке, поэтому я не могу использовать обработчики оснований.

ответ

1

Функция, которую нужно использовать, чтобы вызвать выпадающее меню является Foundation.libs.dropdown.toggle

Проходите в объект JQuery звена ниспадающего для переключения его

Вы можете решить, как это:

шаблона:

<a data-dropdown="groupDrop" {{action 'showDropdown'}} id="groupDropdownLink" class="button radius tiny success dropdown"> 
    Move Selected To Group ({{selectedCount}}) 
</a> 
<br> 
<ul id="groupDrop" data-dropdown-content class="f-dropdown"> 
    {{#each eventGroups}} 
    <li {{action 'moveToGroup' this}}><a>{{name}}</a></li> 
    {{/each}} 
</ul> 

контроллер:

Ea.GroupGuestsController = Em.ArrayController.extend 
    actions: 

    showDropdown: -> 
     Foundation.libs.dropdown.toggle($('#groupDropdownLink')) 
+0

Это хорошо работает, чтобы показать выпадающее меню, но выпадающее меню не скрывает себя (как это обычно происходит с раскрывающимися списками Foundation), когда я выхожу за пределы раскрывающегося содержимого. Любая идея, что может быть причиной? Единственный способ скрыть это снова - снова нажать переключатель, что не идеально. – elsurudo

+0

Я не уверен. К сожалению, у меня было много таких проблем, когда мне приходилось вручную запускать действия js для фундамента. Мне бы хотелось, чтобы у кого-то был реальный способ сделать это без этих проблем. – jakecraige

+1

В моем случае проблема заключалась в загрузке Foundation в неподходящее время , Я пробовал несколько разных методов, но тот, который, наконец, работал, инициализировал его в методе «didInsertElement» App.ApplicationView. – elsurudo

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