给bootstrap-table填坑

 由于设计变更,需要把数据由分页展示改为全部展示(才3500条数据),结果chrome浏览器页面卡顿,火狐浏览器直接卡死!

console.time分析之后,竟然是bootstrap-table插件的坑

主要是2个问题:

1. 使用了 this.$body[0].html(html.join('')) 来替换table加载内容.(平均耗时900ms)  【】

    改为原生方法: this.$body[0].innerHTML = html.join('');  (改完后耗时250ms)

  [ps] IE9及以下的浏览器中,innerHTML只读

2. 绑定事件代码是先查询所有元素再进行的绑定:this.$body.find('> tr[data-index] > td').off('change').on('change', ...   (平均耗时200ms)

   改为直接对 this.$body的父元素 绑定: this.$container.off('click dblclick').on('click dblclick', ' tr[data-index] > td', ...  (改完后耗时25ms)

posted @ 2016-08-03 19:59  hobotree  阅读(540)  评论(1编辑  收藏  举报