Nano Hash - криптовалюты, майнинг, программирование

Событие обратного вызова при открытии jQuery 'mmenu'

Используя jQuery плагин mmenu, мне нужно вызвать функцию JavaScript после того, как меню завершит открытие. В документации по API я не вижу, как это сделать с помощью подключаемого API, поэтому я думая, что, возможно, единственный вариант - наблюдать за именем класса элемента <html>, который получает класс mm-opened при открытии меню. Это кажется немного «хакерским», поэтому я задался вопросом, может ли кто-нибудь увидеть способ в рамках нативного API выполнить требуемый вызов функции?

РЕДАКТИРОВАТЬ: Вопреки ожиданиям, событие openPanel не срабатывает при открытии меню — оно срабатывает только при открытии подменю, поэтому, хотя это предполагает, что оно выполнит эту работу, это не так.

Большое спасибо.


Ответы:


1

Получил (не задокументировано!):

var api = $('#menu').data('mmenu');
api.bind('opened', function () {
    console.log('opened');
});
31.05.2015
  • попался на том же, это помогло мне. Также есть «закрытое» событие, если кому-то нужно к нему привязаться. 01.10.2015
  • Кажется, это не работает с последней версией плагина, вы можете подтвердить? 07.02.2016
  • Подтверждаю, ненавижу это, провел последние 3 часа, пытаясь зацепить себя событиями этой штуки. 02.03.2016
  • У меня работает в последней версии. 08.06.2016
  • В 6.1.7 у меня был успех с .bind('open:finish', function() { }); 21.09.2017
  • @ChezFre прав. Текущая версия требует «open:finish» в качестве имени события. 06.06.2019
  • С 8.5.18 теперь .bind('open:after', function() { }); и .bind('close:after', function() { }); 13.10.2020

  • 2

    Вы можете искать .trigger( в исходном коде: https://raw.githubusercontent.com/FrDH/jQuery.mmenu/master/dist/js/jquery.mmenu.min.js

    Вы найдете следующие события:

    • в этом
    • Обновить
    • setSelected
    • setPage
    • открытым
    • открытие
    • открыл
    • Закрыть
    • закрытие
    • закрыто
    • openPanel
    • открывающаяся панель
    • открытая панель
    • closePanel
    • закрывающая панель
    • закрытая панель

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

    02.04.2016

    3
    var api = self.$el.data("mmenu");
    
    api.bind('close:finish', function() {
       console.log('close');
    });
    
    api.bind('open:finish', function () {
       console.log('open');
    });
    

    Благодаря ЧезФре

    06.09.2018
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..