0
var MobileMenu = {
    menu: function () {
        $('#navigation').toggleClass("open");
        $('body').toggleClass("push");
    }
}    

$(function(){
    $(".icon-menu").on("click", MobileMenu.menu());
});

出于某种原因,这会立即在正在加载的页面上触发 MobileMenu.menu,并且“.icon-menu”似乎不再具有事件绑定。除了加载 jquery 之外,没有其他 javascript。

4

2 回答 2

5

MobileMenu.menu()将调用该函数,您MobileMenu.menu只需要

$(function(){
    $(".icon-menu").on("click", MobileMenu.menu);
});
于 2013-05-07T20:19:10.163 回答
1

.on方法没有执行它。你和().

MobileMenu如果您需要保留上下文,请使用匿名函数。

$(".icon-menu").on("click", function(e) {
    MobileMenu.menu(e)
});

或使用$.proxy()

$(".icon-menu").on("click", $.proxy(MobileMenu, "menu"));
于 2013-05-07T20:19:43.347 回答