Js查漏补缺-08

0x00 三种动态创建元素方法的对比

    1 document.write();如果页面文档流加载完了再调用会重绘页面,

      这种方法会删除之前的页面并重建一个页面,然后将函数中的内容写入新页面;

    2 innerHTML

      在创建大量元素时效率更高(使用字符数组,不能拼接字符串);结构更复杂一些;

    3 creatElement();

      在创建大量元素时效率稍低,但结构更加清晰;

0x01 事件注册

    注册事件有两种方式,注册事件和绑定事件

    onclick()等都是处理函数,注册事件一个元素只能设置一个相同的处理函数,后面的处理函数会将前面的处理函数覆盖

    但是绑定事件可以做到同一事件绑定多个监听器,所以更为推荐使用绑定事件 // ie9后的方法为addEventListener()

    addEventListener(type, listener, useCapture)

    type 事件类型字符串

    listener 事件处理函数

    useCapture 在DOM树中,注册了listener的元素, 是否要先于它下面的EventTarget,调用该listener。 当useCapture(设为true) 时,沿着DOM树向上冒泡的事件,不会触发listener。当一个元素嵌套了另一个元素,并且两个元素都对同一事件注册了一个处理函数时,所发生的事件冒泡和事件捕获是两种不同的事件传播方式。事件传播模式决定了元素以哪个顺序接收事件。。 如果没有指定, useCapture 默认为 false

    删除事件监听可以使用removeEventListener()

你可能感兴趣的:(javascript)