狀況 : 頁面上顯示的表格是經過後端查詢出來的,須要前端在第一列加索引,因爲表格是後加載出來的,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) } })