当我尝试将函数绑定到mmenu插件API中的现有事件时,我总是在绑定函数的开发人员工具中遇到以下错误:
未捕获的TypeError: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);
});
答案 0 :(得分:2)
使用打开:完成并关闭:完成,已打开并已关闭。您可以在 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);
});