off()在jquery中临时关闭事件

时间:2015-02-12 01:47:17

标签: javascript jquery

        $(document).off("click", "#main").on("click", "#main", function () {
            that = $(this);
            $('loading').show();
            Delay = setInterval(function () {
                getMenu(that.attr("menu_id"));
            }, 1000);


        });

如何临时关闭#main的事件事件?因为如果没有#main在加载过程中可以点击,并导致我的函数多次执行。

1 个答案:

答案 0 :(得分:1)

您可以使用类来将其关闭,如

$(document).off("click.main").on("click.main", "#main:not(.disabled)", function () {
    var that = $(this);
    $('loading').show();
    Delay = setInterval(function () {
        getMenu(that.attr("menu_id"));
    }, 1000);
});

如果#main有一个名为disabled的类,则不会执行click处理程序。

因此,当您要禁用点击时添加类disabled,当您想要启用它时,请删除该类