开发者社区> 问答> 正文

关于jquery on重复事件绑定

 var insertPrivilegeB=
    {
        execute:function()
        {
            $.ajax
            ({
                url: "/SSH/ajaxGetPrivilegeBAction",    
                type:"POST",
                dataType:"json",
                success:function(ajaxData)
                {
                    var map=getPrivilegeBMap(ajaxData);  
                  /**这里绑定了事件,调用下面的reflesh时候alert("hh")将被调用两次*/
                    $("#privilegeManage").off("click",".open_or_close_privilegeB")
                    .on("click",".open_or_close_privilegeB",function (event)
                    {
                                alert("hh");
                                insertPrivilegeB.openOrClosePrivilegeB($(this),map);
                    });
                },
                error:function(data)
                {
                    alert("数据异常!");
                }
            });
        }
    };

    var reflesh=function()
  {
        insertPrivilegeB.execute();
  };

两个方法的运行:刚刚开始直接运行insertPrivilegeB.execute();运行正常。

alert("hh")只执行一次。当点击刷新按钮则执行reflesh,此时alert执行两次,
说明事件重复绑定了,但是这该怎么解决?是我的代码有问题?

展开
收起
吴孟桥 2016-06-02 14:19:18 2570 0
1 条回答
写回答
取消 提交回答
  • 刷新按钮先unbind click再绑定click

    2019-07-17 19:24:49
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关课程

更多

相关电子书

更多
Javascript中的函数 立即下载
JavaScript函数 立即下载
Javascript中的对象 立即下载