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

最近在制作分页的时候使用事件绑定,导致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();
    })

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

posted @ 2018-06-11 15:04  进击的小牛牛  阅读(672)  评论(0)    收藏  举报