zoukankan      html  css  js  c++  java
  • 关于传统事件模型和标准事件模型的几点思考

    1,传统事件模型

    例:onclick

    可以被覆盖:

    document.body.onclick = function(){console.log('num1');}
    document.body.onclick = function(){console.log('num2');}

    结果:num2

    销毁方式:

    document.body.onlick = null

    其实没有注册onclick的时候,document.body.onclick的值就是null

    2, 标准事件模型

    例:addEventListener

    不可以被覆盖:

    document.body.addEventListener('click',function(){console.log('num1');});
    document.body.addEventListener('click',function(){console.log('num2');});
    document.body.addEventListener('click',function(){console.log('num3');});

    结果: num1 num2 num3

    销毁方式:

    var f = function(){console.log(1);}
    document.body.addEventListener('click',f);
    document.body.removeEventListener('click',f);

    必须注意的是:销毁时,f一定要一一对应。

    当记忆全部忘光,留下来的才是你自己的。
  • 相关阅读:
    JS学习之旅2
    JS学习之旅1
    Stack 栈
    Linked List 链表
    Array 数组
    时间/空间复杂度
    What/Why/How
    Https 握手过程
    JS跨域解决方案
    JS 的内存管理-GC
  • 原文地址:https://www.cnblogs.com/kai08/p/3025841.html
Copyright © 2011-2022 走看看