驱动事件的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 相关文章推荐
新页面打开实际尺寸的图片
Aug 25 Javascript
jquery.bgiframe.js在IE9下提示INVALID_CHARACTER_ERR错误
Jan 11 Javascript
鼠标悬浮停留三秒后自动显示大图js代码
Sep 09 Javascript
javascript编写实用的省市选择器
Feb 12 Javascript
jQuery插件slicebox实现3D动画图片轮播切换特效
Apr 12 Javascript
jQuery获取父元素及父节点的方法小结
Apr 14 Javascript
微信小程序 textarea 详解及简单使用方法
Dec 05 Javascript
react native仿微信PopupWindow效果的实例代码
Aug 07 Javascript
详解Vue 多级组件透传新方法provide/inject
May 09 Javascript
Angular6 写一个简单的Select组件示例
Aug 20 Javascript
JS查找孩子节点简单示例
Jul 25 Javascript
浅谈Vue的computed计算属性
Mar 21 Vue.js
网页自动刷新,不产生嗒嗒声的一个解决方法
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面向对象分析设计的61条军规小结
2010/07/17 PHP
php实现无限级分类查询(递归、非递归)
2016/03/10 PHP
PHP基于新浪IP库获取IP详细地址的方法
2017/05/04 PHP
php+javascript实现的动态显示服务器运行程序进度条功能示例
2017/08/07 PHP
autoIMG 基于jquery的图片自适应插件代码
2011/03/12 Javascript
jquery.Jwin.js 基于jquery的弹出层插件代码
2012/05/23 Javascript
JS继承用法实例分析
2015/02/05 Javascript
介绍一个简单的JavaScript类框架
2015/06/24 Javascript
js图片轮播手动切换效果
2015/11/10 Javascript
基于Bootstrap的UI扩展 StyleBootstrap
2016/06/17 Javascript
jQuery轮播图效果精简版完整示例
2016/09/04 Javascript
jquery日历插件e-calendar升级版
2016/11/10 Javascript
BootStrapTable服务器分页实例解析
2016/12/20 Javascript
基于vue2.0实现仿百度前端分页效果附实现代码
2018/10/30 Javascript
详解ES6系列之私有变量的实现
2018/11/21 Javascript
原生JS实现烟花效果
2020/03/10 Javascript
[38:21]2018DOTA2亚洲邀请赛3月30日 小组赛A组 LGD VS Newbee
2018/03/31 DOTA
Python实现TCP/IP协议下的端口转发及重定向示例
2016/06/14 Python
老生常谈Python startswith()函数与endswith函数
2017/09/08 Python
python实现括号匹配的思路详解
2018/08/23 Python
django session完成状态保持的方法
2018/11/27 Python
Selenium+Python 自动化操控登录界面实例(有简单验证码图片校验)
2019/06/28 Python
Python3 使用map()批量的转换数据类型,如str转float的实现
2019/11/29 Python
python GUI库图形界面开发之PyQt5打印控件QPrinter详细使用方法与实例
2020/02/28 Python
python 已知一个字符,在一个list中找出近似值或相似值实现模糊匹配
2020/02/29 Python
canvas学习笔记之2d画布基础的实现
2019/02/21 HTML / CSS
印度在线内衣和时尚目的地:Zivame
2017/09/28 全球购物
欧洲、亚洲、非洲和拉丁美洲的度假套餐:Great Value Vacations
2019/03/30 全球购物
毕业证丢失证明
2014/01/15 职场文书
汽车维修求职信
2014/06/15 职场文书
2015年销售人员工作总结
2015/04/07 职场文书
大学生活感想
2015/08/10 职场文书
2019个人工作态度自我评价
2019/04/24 职场文书
导游词之平津战役纪念馆
2019/11/04 职场文书
SpringBoot详解自定义Stater的应用
2022/07/15 Java/Android
Nginx报404错误的详细解决方法
2022/07/23 Servers