Не запускаются события выпадающего меню Foundation 6

#javascript #zurb-foundation #zurb-foundation-6

#javascript #zurb-foundation #zurb-foundation-6

Вопрос:

Я пытаюсь запустить анимацию при открытии выпадающего списка, однако, похоже, я не могу подключить прослушиватель событий. Следующий код не запускается, хотя я вижу, что классы меняются в раскрывающемся списке.

 $('[data-submenu]').on('show.zf.dropdownMenu', function() {
    console.log('open');
});
  

Вот ручка http://codepen.io/thezenmonkey/pen/PGXVRV

Комментарии:

1. Было бы очень полезно, если бы вы могли создать живой пример, используя CodePen или JSFiddle .

2. Нет проблем, вот и все codepen.io/thezenmonkey/pen/PGXVRV

3. Я недостаточно знаком с codepen, чтобы знать, но это основа. dropdown.js включено в ваш пример? Это необходимо включить в соответствии с документами. Также требуются 3 утилиты: foundation.zurb.com/sites/docs/dropdown-menu.html

4. Да, полный foundation.js находится в ручке. Таким образом, у него должен быть плагин, а также все утилиты. (если вы нажмете значок шестеренки на панели JS, вы увидите загруженные внешние библиотеки)

5. Согласно документам foundation, я должен прослушивать [data-submenu] foundation.zurb.com/sites/docs/javascript.html#events

Ответ №1:

Оказывается, в текущей версии документации есть ошибка. Прослушиватель должен быть прикреплен к документу, и название события неверно.

 $(document).on('show.zf.dropdownmenu', function(ev, $el) {
    console.log('open');
});
  

Комментарии:

1. Вау, я только что применил прослушиватель, как вы сделали в своем коде здесь, он работал так, как и должен. Я согласен, документация Zurb Foundation 6 является проблемой, это всего лишь еще один пример в куче. Я надеюсь, вы можете принять свой собственный ответ как правильный!

2. Кстати … не могли бы вы добавить ссылку / документ, в котором вы, возможно, нашли правильный синтаксис?

3. @ChrisO Я просмотрел фактический код Javascript в foundation. dropdownMenu.js . Я ввел запрос на извлечение с помощью Zurb, чтобы исправить документацию. Похоже, что docbloc, отменяющий событие, не был обновлен