一,如何渲染数据浏览器
什么是渲染数据:简单的说就是把后台数据渲染到页面当中去。微信
1.渲染数据的方式有四种dom
(1)字符串拼接性能
1.案例分析 原有的list中有三个li,而且每一个li身上有onmouseover事件spa
2.字符串拼接是最经常使用的方法对象
3.优势:只进行一次dom回流blog
4.缺点:原有dom的事件都会丢失seo
缘由:就在与 innerHTML 这个属性,这个属性是返回或设置dom中的内容,以字符串形式返回,拼接完以后是string类型,而onmouse这些属性是dom元素对象身上的,因此这些onmouse系列属性就会丢失了。事件
(2)dom循环文档
优势:缘由的dom身上的事件不会丢失,不影响其它dom
缺点:回流次数过多,严重影响性能
(3)模板
模板的本质就是字符串
(4)文档碎片
优势:既不影响原有dom的属性,也只回流一次
什么是dom回流:每当对dom 元素进行 增添 查改的时候浏览器就会从新加载一个,
把新的结果给渲染出来
------------------------------------------------------------------------
这四种方法新增的li没有onmouseover事件,如何保证新增的li也拥有添加事件,用dom遍历添加是不行的,要用事件委托。
什么是事件委托:当给子元素身上绑定大量的相同事件,尽可能采用事件委托,把子元素身上的相同事件委托给父级。
事件委托:利用的原理就是事件冒泡机制,但并非全部的事件都有冒泡机制,好比onmouseinter,onmouseleave
做者:晋飞翔
QQ,微信同步:318080891