状况 : 页面上显示的表格是经过后端查询出来的,须要前端在第一列加索引,因为表格是后加载出来的,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) } })