【问题标题】:Can't bind function to mmenu API无法将函数绑定到 mmenu API
【发布时间】:2016-10-24 13:36:52
【问题描述】:

当我尝试从 mmenu 插件 API 将函数绑定到现有事件时,我总是在开发人员工具中的绑定函数中遇到以下错误:

未捕获的类型错误:API.bind 不是函数

在我的解决方案中,我使用

jQuery mmenu v4.2.0 和 jquery-1.12.4

以下是我在母版页中关注的代码。

$(document).ready(function () {
    var $menu = $("#mm-menu");
    $menu.mmenu({
        // options
    }, {
        // configuration
        offCanvas: {
            pageSelector: "#wrapper"
        }
    });
    var $icon = $("#hamburger-icon");
    var API = $menu.data("mmenu");

    $icon.on("click", function () {
        API.open();
    });
    API.bind('closed', function () {
        setTimeout(function () {
            $icon.removeClass("is-active");
        }, 100);
    });

【问题讨论】:

  • 自己解决了。当我安装不是github上最后一个mmenu版本的包时不是很小心。

标签: jquery bind mmenu


【解决方案1】:

使用 open:finishclose:finish 插入 openedclose。您可以在 cbck 对象下查看记录 API.getInstance() 的所有可用事件。代码如下:

API.bind( "open:finish", function() {
  setTimeout(function() {
    $icon.addClass( "is-active" );
  }, 50);
});
API.bind( "close:finish", function() {
  setTimeout(function() {
    $icon.removeClass( "is-active" );
  }, 50);
});

【讨论】:

    猜你喜欢
    • 2021-08-16
    • 1970-01-01
    • 1970-01-01
    • 2021-12-30
    • 2012-06-08
    • 2013-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多