驱动事件的addEvent.js代码


Posted in Javascript onMarch 27, 2007
Array.prototype.inArray = function (value) {  
    var i;  
    for (i=0; i < this.length; i++) {  
        if (this[i] === value) {  
            return true;  
        }  
    }  
    return false;  
};  function addEvent( obj, type, fn ) {  
    if (obj.addEventListener) {  
        obj.addEventListener( type, fn, false );  
        EventCache.add(obj, type, fn);  
    }  
    else if (obj.attachEvent) {  
        obj["e"+type+fn] = fn;  
        obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }  
        obj.attachEvent( "on"+type, obj[type+fn] );  
        EventCache.add(obj, type, fn);  
    }  
    else {  
        obj["on"+type] = obj["e"+type+fn];  
    }  
}  
var EventCache = function(){  
    var listEvents = [];  
    return {  
        listEvents : listEvents,  
        add : function(node, sEventName, fHandler){  
            listEvents.push(arguments);  
        },  
        flush : function(){  
            var i, item;  
            for(i = listEvents.length - 1; i >= 0; i = i - 1){  
                item = listEvents[i];  
                if(item[0].removeEventListener){  
                    item[0].removeEventListener(item[1], item[2], item[3]);  
                };  
                if(item[1].substring(0, 2) != "on"){  
                    item[1] = "on" + item[1];  
                };  
                if(item[0].detachEvent){  
                    item[0].detachEvent(item[1], item[2]);  
                };  
                item[0][item[1]] = null;  
            };  
        }  
    };  
}();  
addEvent(window,'unload',EventCache.flush);

Javascript 相关文章推荐
js创建数据共享接口——简化框架之间相互传值
Oct 23 Javascript
JavaScript中的console.trace()函数介绍
Dec 29 Javascript
jQuery实现DIV层淡入淡出拖动特效的方法
Feb 13 Javascript
jquery图片滚动放大代码分享(1)
Aug 25 Javascript
javascript产生随机数方法汇总
Jan 25 Javascript
JS面试题---关于算法台阶的问题
Jul 26 Javascript
jQuery制作input提示内容(兼容IE8以上)
Jul 05 jQuery
React Native仿美团下拉菜单的实例代码
Aug 08 Javascript
深入浅出webpack之externals的使用
Dec 04 Javascript
利用nginx + node在阿里云部署https的步骤详解
Dec 19 Javascript
jQuery实现的卷帘门滑入滑出效果【案例】
Feb 18 jQuery
JavaScript变量Dom对象的所有属性
Apr 30 Javascript
网页自动刷新,不产生嗒嗒声的一个解决方法
Mar 27 #Javascript
统一接口:为FireFox添加IE的方法和属性的js代码
Mar 25 #Javascript
在Z-Blog中运行代码[html][/html](纯JS版)
Mar 25 #Javascript
JavaScript判断两种格式的输入日期的正确性的代码
Mar 25 #Javascript
表单(FORM)的一些实用效果代码
Mar 25 #Javascript
推荐dojo学习笔记
Mar 24 #Javascript
利用Dojo和JSON建立无限级AJAX动态加载的功能模块树
Mar 24 #Javascript
You might like
php str_pad 函数使用详解
2009/01/13 PHP
Yii+MYSQL锁表防止并发情况下重复数据的方法
2016/07/14 PHP
thinkPHP5.0框架环境变量配置方法
2017/03/17 PHP
如何在标题栏显示框架内页面的标题
2007/02/03 Javascript
用javascript实现兼容IE7的类库 IE7_0_9.zip提供下载
2007/08/08 Javascript
innerText和innerHTML 一些问题分析
2009/05/18 Javascript
Mootools 1.2教程(2) DOM选择器
2009/09/14 Javascript
isArray()函数(JavaScript中对象类型判断的几种方法)
2009/11/26 Javascript
重构Javascript代码示例(重构前后对比)
2013/01/23 Javascript
如何使用jQuery来处理图片坏链具体实现步骤
2013/05/02 Javascript
tangram框架响应式加载图片方法
2013/11/21 Javascript
node.js中的url.resolve方法使用说明
2014/12/10 Javascript
javascript异步编程代码书写规范Promise学习笔记
2015/02/11 Javascript
最精简的JavaScript实现鼠标拖动效果的方法
2015/05/11 Javascript
jQuery实现悬浮在右上角的网页客服效果代码
2015/10/24 Javascript
js表单验证实例讲解
2016/03/31 Javascript
jQuery替换节点元素的操作方法
2018/03/18 jQuery
vue2.0父子组件间传递数据的方法
2018/08/16 Javascript
layui 监听select选择 获取当前select的ID名称方法
2019/09/24 Javascript
[47:31]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第一场 12.12
2020/12/16 DOTA
使用基于Python的Tornado框架的HTTP客户端的教程
2015/04/24 Python
深入理解python try异常处理机制
2016/06/01 Python
Python使用正则表达式实现文本替换的方法
2017/04/18 Python
Django使用详解:ORM 的反向查找(related_name)
2018/05/30 Python
python dict乱码如何解决
2020/06/07 Python
python中的垃圾回收(GC)机制
2020/09/21 Python
如何利用python发送邮件
2020/09/26 Python
python热力图实现简单方法
2021/01/29 Python
水芝澳美国官网:H2O Plus
2016/10/15 全球购物
美国隐形眼镜销售网站:ContactsDirect
2017/10/28 全球购物
Ibatis如何调用存储过程
2015/05/15 面试题
会计工作能力自我评价
2015/03/05 职场文书
舞出我人生观后感
2015/06/16 职场文书
Python3 如何开启自带http服务
2021/05/18 Python
vue使用localStorage持久性存储实现评论列表
2022/04/14 Vue.js
Win11查看设备管理器
2022/04/19 数码科技