zoukankan      html  css  js  c++  java
  • 渲染数据

    渲染数据的方式:

      字符串拼接,dom循环,模板,文档碎片

      案例:一个ul里面有三个li,并且每个li身上都有onmouseover事件

         

      1、字符串拼接;最常用的的方法

        

        优点:只进行一次dom回流

        缺点:原有的dom事件会丢失

         原因:就在于innerHTML这个属性,这个属性是返回或设置dom中的内容,以字符串的形式返回,拼接完之后是string类型,而onmouse这些属性是DOM对象元素身上的,所以onmouse系列的属性就丢失了

      2、dom循环

        

        优点:原有的dom身上的事件不会丢失,不会影响其他的dom

        缺点:dom回流次数较多,严重影响页面性能

        注:dom回流:每当对页面进行增删查改的时候,浏览器就会重新加载一个,把新的结果渲染出来

       3、模板

        模板的本质就是字符串拼接

      4、文档碎片

        

        优点:既不影响原有的dom属性,也只回流一次

     以上四种方法,对于新增的li没有onmouseover事件,如果保证新增的li也有添加的事件,用dom遍历事件是不行的,用事件委托

    事件委托

      原理:利用事件冒泡机制,但并不是所有的事件都有冒泡机制,比如mouseevent,mouseleave

      

      

  • 相关阅读:
    shell脚本while read line的使用
    shell 一次性赋值多个变量
    Docker Volume
    nginx反向代理与负载均衡
    lua中 table.getn(t) 、#t、 table.maxn(t) 这三个什么区别?
    pv绑定pvc
    使用brew services管理服务
    Kubernetes中强制删除Pod、namespace
    shell 中的${},##, %% , :- ,:+, ? 的使用
    petalinux中fsbl源码
  • 原文地址:https://www.cnblogs.com/yanghuiting/p/10530451.html
Copyright © 2011-2022 走看看