驱动事件的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代码,用以防止图片撑破页面
Mar 12 Javascript
Web开发之JavaScript
Mar 29 Javascript
Javascript 按位取反运算符 (~)
Feb 04 Javascript
jQuery中unbind()方法用法实例
Jan 19 Javascript
jQuery多级手风琴菜单实例讲解
Oct 22 Javascript
真正好用的js验证上传文件大小的简单方法
Oct 27 Javascript
VueJS全面解析
Nov 10 Javascript
如何选择jQuery版本 1.x? 2.x? 3.x?
Apr 01 jQuery
Angular.js中下拉框实现渲染html的方法
Jun 18 Javascript
vue 封装自定义组件之tabal列表编辑单元格组件实例代码
Sep 07 Javascript
AngularJS实现的select二级联动下拉菜单功能示例
Oct 25 Javascript
vue移动端实现手机左右滑动入场动画
Jun 17 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
声音就能俘获人心,蕾姆,是哪个漂亮小姐姐配音呢?
2020/03/03 日漫
详解PHP显示MySQL数据的三种方法
2008/06/05 PHP
PHP操作MySQL事务实例
2014/11/05 PHP
php array_pop 删除数组最后一个元素实例
2016/11/02 PHP
Laravel框架基于中间件实现禁止未登录用户访问页面功能示例
2019/01/17 PHP
PHP实现会员账号单唯一登录的方法分析
2019/03/07 PHP
csdn 博客的css样式 v3
2009/02/24 Javascript
JSON语法五大要素图文介绍
2012/12/04 Javascript
用JavaScript实现使用鼠标画线的示例代码
2014/08/19 Javascript
AngularJS入门教程之Hello World!
2014/12/06 Javascript
JavaScript生成随机字符串的方法
2015/03/19 Javascript
详解JavaScript中Date.UTC()方法的使用
2015/06/12 Javascript
Jquery数字上下滚动动态切换插件
2015/08/08 Javascript
javascript从定义到执行 你不知道的那些事
2016/01/04 Javascript
JS中使用apply、bind实现为函数或者类传入动态个数的参数
2016/04/26 Javascript
jQuery Easyui使用(二)之可折叠面板动态加载无效果的解决方法
2016/08/17 Javascript
Vue.js Ajax动态参数与列表显示实现方法
2016/10/20 Javascript
angular实现form验证实例代码
2017/01/17 Javascript
Vue.js实现一个SPA登录页面的过程【推荐】
2017/04/29 Javascript
Vue自定义指令使用方法详解
2017/08/21 Javascript
vue中的过滤器实例代码详解
2019/06/06 Javascript
[27:28]Ti4 冒泡赛第二天 iG vs NEWBEE 1
2014/07/15 DOTA
浅谈python连续赋值可能引发的错误
2018/11/10 Python
解决安装pycharm后不能执行python脚本的问题
2019/01/19 Python
python实现KNN分类算法
2019/10/16 Python
Pycharm导入anaconda环境的教程图解
2020/07/31 Python
CSS3 animation实现简易幻灯片轮播特效
2016/09/27 HTML / CSS
日本土著品牌,综合型购物网站:Cecile
2016/08/23 全球购物
澳大利亚冒险体验:Adrenaline(跳伞、V8赛车、热气球等)
2017/09/18 全球购物
李维斯牛仔裤英国官方网站:Levi’s英国
2019/10/10 全球购物
银行个人求职自荐信范文
2013/12/16 职场文书
幼儿园实习生辞职信
2014/01/20 职场文书
2019朋友新婚祝福语精选
2019/10/10 职场文书
JS Canvas接口和动画效果大全
2021/04/29 Javascript
python模拟浏览器 使用selenium进入好友QQ空间并留言
2022/04/12 Python
OpenFeign实现远程调用
2022/08/14 Java/Android