驱动事件的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 相关文章推荐
jQuery中live方法的重复绑定说明
Oct 21 Javascript
jquery 插件学习(二)
Aug 06 Javascript
javascript右下角弹层及自动隐藏(自己编写)
Nov 20 Javascript
利用了jquery的ajax实现二级联互动菜单
Dec 02 Javascript
jquery实现聚光灯效果的方法
Feb 06 Javascript
jquery mobile开发常见问题分析
Jan 21 Javascript
JavaScript中的Array 对象(数组对象)
Jun 02 Javascript
jQuery实现背景滑动菜单
Dec 02 Javascript
jQuery基于ajax操作json数据简单示例
Jan 05 Javascript
Node.js 利用cheerio制作简单的网页爬虫示例
Mar 01 Javascript
vue实现修改图片后实时更新
Nov 14 Javascript
Element-ui 自带的两种远程搜索(模糊查询)用法讲解
Jan 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实现文件与16进制相互转换的方法示例
2017/02/16 PHP
如何通过View::first使用Laravel Blade的动态模板详解
2017/09/21 PHP
laravel框架关于搜索功能的实现
2018/03/15 PHP
jQuery 使用手册(一)
2009/09/23 Javascript
jQuery拖拽 &amp; 弹出层 介绍与示例
2013/12/27 Javascript
javascript实现控制浏览器全屏
2015/03/30 Javascript
如何实现JavaScript动态加载CSS和JS文件
2020/12/28 Javascript
javascript实现五星评分功能
2015/11/10 Javascript
Bootstrap每天必学之进度条
2015/11/30 Javascript
jQuery实现的纵向下拉菜单实例详解【附demo源码下载】
2016/07/09 Javascript
Bootstrap的fileinput插件实现多文件上传的方法
2016/09/05 Javascript
javascript判断firebug是否开启的方法
2016/11/23 Javascript
详解获取jq ul第一个li定位的四种解决方案
2016/11/23 Javascript
微信小程序实现实时圆形进度条的方法示例
2017/02/24 Javascript
vue-cli实现多页面多路由的示例代码
2018/01/30 Javascript
使用JSON格式提交数据到服务端的实例代码
2018/04/01 Javascript
angular6.0开发教程之如何安装angular6.0框架
2018/06/29 Javascript
Next.js实现react服务器端渲染的方法示例
2019/01/06 Javascript
jQuery模仿ToDoList实现简单的待办事项列表
2019/12/30 jQuery
简单了解vue 插值表达式Mustache
2020/07/22 Javascript
Ant design vue中的联动选择取消操作
2020/10/31 Javascript
python如何实现反向迭代
2018/03/20 Python
Python对接 xray 和微信实现自动告警
2019/09/17 Python
python几种常用功能实现代码实例
2019/12/25 Python
TensorFlow2.0矩阵与向量的加减乘实例
2020/02/07 Python
python简单实现9宫格图片实例
2020/09/03 Python
Sephora丝芙兰泰国官方网站:国际知名化妆品购物
2017/11/15 全球购物
5.1手机促销活动
2014/01/17 职场文书
公司寄语大全
2014/04/10 职场文书
员工2014年度工作总结
2014/12/09 职场文书
职工培训工作总结
2015/08/10 职场文书
2016年员工政治思想表现评语
2015/12/02 职场文书
深入理解以DEBUG方式线程的底层运行原理
2021/06/21 Java/Android
Springboot使用Spring Data JPA实现数据库操作
2021/06/30 Java/Android
用Java实现简单计算器功能
2021/07/21 Java/Android
MySQL实现配置主从复制项目实践
2022/03/31 MySQL