事件委托导致重复绑定多次事件

最近在制作分页的时候使用事件绑定,导致ajax访问接口成倍的增加,找了好久发现是由于多次事件绑定引起的。

//分页功能
    Sea("page").on("click",".page-btn",function(){
        //如果请求页就是当前页,则不发出请求
        if(page == Sea(this).data("page")){
            return;
        }
        page = parseInt(Sea(this).data("page"));
        render();
    })

render方法里包括了分页功能的事件绑定以及ajax请求,使用委托形式绑定时候,造成了多次绑定该事件,因为点击的时候会成倍的触发render方法。

//分页功能
    Sea("page .page-btn").on("click",function(){
        //如果请求页就是当前页,则不发出请求
        if(page == Sea(this).data("page")){
            return;
        }
        page = parseInt(Sea(this).data("page"));
        render();
    })

不进行事件委托就解决了该问题。

原文地址:https://www.cnblogs.com/zzd0916/p/9167110.html