jQuery'mmenu'打开时的回调事件

Dan*_*Dan 5 jquery jquery-plugins mmenu

使用jQuery mmenu插件我需要在菜单打开后调用JavaScript函数.我无法从API文档中看到如何使用插件API来做到这一点,所以我想也许唯一的选择是观察<html>元素上的类名,这会mm-opened在菜单打开时获得一个类.这感觉有点'hacky',所以我想知道是否有人能够在本机API的范围内看到一种方法来完成所需的函数调用?

编辑:与预期相反,openPanel当菜单打开时事件不会触发 - 它只在子菜单打开时触发,因此虽然这表明它可以完成工作但事实并非如此.

非常感谢.

Dan*_*Dan 15

得到它(没有记录!):

var api = $('#menu').data('mmenu');
api.bind('opened', function () {
    console.log('opened');
});
Run Code Online (Sandbox Code Playgroud)

  • 在6.1.7中,我成功地使用了`.bind('open:finish',function(){});` (3认同)
  • 我确认,讨厌这个,在过去的 3 个小时里试图让自己陷入这件事中。 (2认同)
  • 在最新版本中适用于我. (2认同)
  • 在 8.5.18 中,现在是 `.bind('open:after', function() { });` 和 `.bind('close:after', function() { });` (2认同)

use*_*841 5

您可以搜索.trigger(源代码:https: //raw.githubusercontent.com/FrDH/jQuery.mmenu/master/dist/js/jquery.mmenu.min.js

您将找到以下事件:

  • 在里面
  • 更新
  • 的setSelected
  • setPage
  • 打开
  • 开盘
  • 打开
  • 关闭
  • 关闭
  • openPanel
  • openingPanel
  • openedPanel
  • closePanel
  • closingPanel
  • closedPanel

我相信是这样的.在其中,您可以看到对您的案例有用的"已打开"和"已关闭"事件.