1. 程式人生 > >事件委托導致重復綁定多次事件

事件委托導致重復綁定多次事件

綁定 方法 click font page 接口 In ret btn

最近在制作分頁的時候使用事件綁定,導致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();
    })

不進行事件委托就解決了該問題。

事件委托導致重復綁定多次事件