驱动事件的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 相关文章推荐
用javascript获取textarea中的光标位置
May 06 Javascript
javascript 跳转代码集合
Dec 03 Javascript
Jquery取得iframe下内容的方法
Nov 18 Javascript
JavaScript中的Reflect对象详解(ES6新特性)
Jul 22 Javascript
将json转换成struts参数的方法
Nov 08 Javascript
微信小程序去哪里找 小程序到底如何使用(附小程序名单)
Jan 09 Javascript
探索webpack模块及webpack3新特性
Sep 18 Javascript
Vue2.0父组件与子组件之间的事件发射与接收实例代码
Sep 19 Javascript
微信小程序页面生命周期详解
Jan 31 Javascript
Vue Router的手写实现方法实现
Mar 02 Javascript
JavaScript变量Dom对象的所有属性
Apr 30 Javascript
JavaScript实现显示和隐藏图片
Apr 29 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自定义函数之递归删除文件及目录
2010/08/08 PHP
apache php模块整合操作指南
2012/11/16 PHP
Zend的Registry机制的使用说明
2013/05/02 PHP
解析PHP可变函数的经典用法
2013/06/20 PHP
Codeigniter实现智能裁剪图片的方法
2014/06/12 PHP
非常实用的PHP常用函数汇总
2014/12/17 PHP
Thinkphp5结合layer弹窗定制操作结果页面
2017/07/07 PHP
thinkPHP框架实现的简单计算器示例
2018/12/07 PHP
php实现微信小程序授权登录功能(实现流程)
2019/11/13 PHP
固定网页背景图同时保持图片比例的思路代码
2013/08/15 Javascript
js实现瀑布流的一种简单方法实例分享
2013/11/04 Javascript
jquery 快速回到页首的方法
2013/12/05 Javascript
JavaScript字符串对象fromCharCode方法入门实例(用于把Unicode值转换为字符串)
2014/10/17 Javascript
修复bash漏洞的shell脚本分享
2014/12/31 Javascript
JavaScript实现弹出模态窗体并接受传值的方法
2016/02/12 Javascript
JS模仿手机端九宫格登录功能实现代码
2016/04/28 Javascript
JS简单实现查看文档创建日期、修改日期和文档大小的方法示例
2018/04/08 Javascript
NodeJs入门教程之定时器和队列
2019/03/08 NodeJs
Node.js爬虫如何获取天气和每日问候详解
2019/08/26 Javascript
layer.confirm点击第一个按钮关闭弹出框的方法
2019/09/09 Javascript
Python之自动获取公网IP的实例讲解
2017/10/01 Python
python获取多线程及子线程的返回值
2017/11/15 Python
Python使用装饰器模拟用户登陆验证功能示例
2018/08/24 Python
Python爬虫模拟登陆哔哩哔哩(bilibili)并突破点选验证码功能
2020/12/21 Python
纯css3实现鼠标经过图片显示描述的动画效果
2014/09/01 HTML / CSS
AE美国鹰美国官方网站:American Eagle Outfitters
2016/08/22 全球购物
亚马逊巴西站:Amazon.com.br
2019/09/22 全球购物
广州某公司软件工程师面试题
2014/12/22 面试题
公务员总结性个人自我评价
2013/12/05 职场文书
建筑学专业自荐书
2014/07/09 职场文书
沈阳故宫导游词
2015/01/31 职场文书
2015年扫黄打非工作总结
2015/05/13 职场文书
2016廉政教育学习心得体会
2016/01/25 职场文书
2016社区平安家庭事迹材料
2016/02/26 职场文书
2019年新郎保证书3篇
2019/10/17 职场文书
Android开发之底部导航栏的快速实现
2022/04/28 Java/Android