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

Posted zzd0916

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了事件委托导致重复绑定多次事件相关的知识,希望对你有一定的参考价值。

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

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

以上是关于事件委托导致重复绑定多次事件的主要内容,如果未能解决你的问题,请参考以下文章

jQuery 入门 -- 事件 事件绑定与事件委托

通过匿名委托取消订阅事件[重复]

angular的事件委托

原生js如何绑定a连接点击事件?

防止多次引入js文件导致的重复注册点击事件

jquery事件重复绑定