zoukankan      html  css  js  c++  java
  • 事件绑定(1)

    对于非IE浏览器来说,利用现代事件绑定非常方便,但是对于IE浏览器,它自身提供了专门的现代事件绑定方法,但是IE的现代事件绑定方法问题多多,而且还会导致内存泄露,所以本篇文章就是利用传统事件绑定来模拟W3C的现代事件绑定方法。直接开代码,注释非常清楚:

     1 function addEvent(obj, type, fn) {
     2     if (typeof window.addEventListener != 'undefined') {
     3         obj.addEventListener(type, fn, false);
     4     } else {
     5         //定义一个哈希表来存放事件对象
     6         obj.events = obj.events || {};
     7             
     8         //将事件函数存放在事件对象的数组中
     9         if (!obj.events[type]) {
    10             obj.events[type] = [];
    11             //将第一个事件函数存放在事件对象数组中的第一个位置上
    12             if (obj['on' + type]) obj.events[type][0] = fn;
    13         }
    14         //将后面的事件函数依次存放在事件对象数组中的其他位置
    15         obj.events[type][addEvent.ID++] = fn;
    16         //执行事件函数
    17         obj['on' + type] = function () {
    18             for (var i in obj.events[type]) {
    19                 obj.events[type][i]();
    20             }
    21         };
    22     }
    23 }
    24 //为每个事件分配一个计数器
    25 addEvent.ID = 1;
  • 相关阅读:
    损失函数 代价函数 评分函数 目标函数
    python目录索引
    机器学习/深度学习资料合集
    Git笔记
    目标检测中的正负样本分配
    map计算
    nms
    08shell脚本
    07makefile文件
    05-STL
  • 原文地址:https://www.cnblogs.com/fengyuqing/p/javascript_addEvent_1.html
Copyright © 2011-2022 走看看