平時總結

狀況 : 頁面上顯示的表格是經過後端查詢出來的,須要前端在第一列加索引,因爲表格是後加載出來的,ready 或者load 只能加載第一頁 的索引 翻頁的時候 並無加上前端

剛開始的想法 頁面加載設置定時器 不停的去找 翻頁的元素 ,在點的時候 又有一個定時器去監測 點的元素 因爲數據返回慢 又找不到何時能夠返回來jquery

最後: jquery 綁定事件有一個方法 live() 方法爲被選元素附加一個或多個事件處理程序,並規定當這些事件發生時運行的函數。後端

經過 live() 方法附加的事件處理程序適用於匹配選擇器的當前及將來的元素(好比由腳本建立的新元素)。函數

這樣 就少了一層定時任務 接下來 裏面的定時器 去加索引 當應用這個current這個樣式的元素 是當前點擊的元素 關掉定時器spa

還有一個 方式正在加載的時候屢次點擊 形成 多個定時任務code

方法:定義一個全局變量 設置0 點擊變成1 關掉定時器在設爲0 只有在0的時候纔去走 這套東西 就能夠保證 點別的 也不會走blog

function getIndex(){
                if($('.HeaderForXtalbe').length>0){
                    $('.HeaderForXtalbe')[0].children[0].innerHTML='序號'
                }
                var len = $('#_xTable tr[style="vertical-align: middle;"]').length
                if(len>0){
                    for(var i = 0;i<len;i++){
                        $('#_xTable tr[style="vertical-align: middle;"]:eq('+i+') td:first').text(i+1);
                    }
                }
            }
            var tag = 0
            $('.e8_numberspan').live('click',function(e){
                if(tag==0){
                    tag=1;
                    var target = e.toElement;
                    var inner =  setInterval(function() {
                        var source = $('.e8_pageinfo > .weaverTableCurrentPageBg')[0].innerText;
                        getIndex();
                        if(source == target.innerText){
                            clearInterval(inner);
                            tag=0;
                        }
                    },2000)
                }
            })
相關文章
相關標籤/搜索