javascript 添加和移除函数的通用方法


Posted in Javascript onOctober 20, 2009

//添加函数的方法
function addEvent( node, type, listener) {
    if( node.addEventListener ){
        // W3C方法(DOM方法)
        //下面语句中的false意思是用于冒泡阶段,若是true则是用于捕获阶段(IE不支持捕获),所以这里用false是一方面的原因是为了统一
        node.addEventListener( type, listener, false );    
        return true;
    } else if( node.attachEvent ){
        // MSIE方法(IE方法)
        node['e' + type + listener] = listener;
        node[type + listener] = function (){
            node['e' + type + listener](window.event);
        };
        node.attachEvent('on' + type, node[type + listener]);
        return true;
    }
    //如两种方法都不具备则返回false
    return false;
}

//移除函数的方法
function removeEvent( node, type, listener) {
    if( node.addEventListener ){
        node.removeEventListener( type, listener, false );
        return true;
    } else if( node.detachEvent) {
        node.detachEvent('on' + type, listener);
        return true;
    }
    //如两种方法都不具备则返回false
    return false;
}

//添加载入事件的方法如下所示
1.function addLoadEvent(func){
    var oldonload=window.onload;
    if(typeof window.onload!="function"){
        window.onload=func;
    }else{
        window.onload=function(){
            oldonload();
            func();
        }
    }
}
2.//用上面的addEvent方法
    addEvent(window, 'load', fn);

Javascript 相关文章推荐
[原创]提供复制本站内容时出现,该文章转自脚本之家等字样的js代码
Mar 27 Javascript
初学JavaScript第二章
Sep 30 Javascript
jQuery 下拉列表 二级联动插件分享
Mar 29 Javascript
jQuery自动切换/点击切换选项卡效果的小例子
Aug 12 Javascript
设置checkbox为只读(readOnly)的两种方式
Oct 11 Javascript
用jquery写的菜单从左往右滑动出现
Apr 11 Javascript
jQuery队列操作方法实例
Jun 11 Javascript
jQuery层级选择器用法分析
Feb 10 Javascript
avalon js实现仿微博拖动图片排序
Aug 14 Javascript
三个js循环的关键字示例(for与while)
Feb 16 Javascript
详解jQuery lazyload 懒加载
Dec 19 Javascript
javascript中的相等操作符(==与===区别)
Dec 21 Javascript
JS 用6N±1法求素数 实例教程
Oct 20 #Javascript
获取网站跟路径的javascript代码(站点及虚拟目录)
Oct 20 #Javascript
Javascript var变量隐式声明方法
Oct 19 #Javascript
让你的网站可编辑的实现js代码
Oct 19 #Javascript
document.onreadystatechange事件的用法分析
Oct 17 #Javascript
将jQuery应用于login页面的问题及解决
Oct 17 #Javascript
层序遍历在ExtJs的TreePanel中的应用
Oct 16 #Javascript
You might like
PHP利用超级全局变量$_POST来接收表单数据的实例
2016/11/05 PHP
PHP静态成员变量
2017/02/14 PHP
gearman中任务的优先级和返回状态实例分析
2020/02/27 PHP
List all the Databases on a SQL Server
2007/06/21 Javascript
My Desktop :) 桌面式代码
2008/12/29 Javascript
javascript hashtable实现代码
2009/10/13 Javascript
基于jQuery的动态表格插件
2011/03/28 Javascript
js图片延迟加载的实现方法及思路
2013/07/22 Javascript
jquery 模板的应用示例
2013/11/12 Javascript
Javascript封装DOMContentLoaded事件实例
2014/06/12 Javascript
js中的如何定位固定层的位置
2014/06/15 Javascript
node.js中的fs.fchmod方法使用说明
2014/12/16 Javascript
DOM 高级编程
2015/05/06 Javascript
jquery常用函数与方法汇总
2015/09/01 Javascript
SVG描边动画
2017/02/23 Javascript
js实现一个简单的数字时钟效果
2017/03/29 Javascript
input type=file 选择图片并且实现预览效果的实例
2017/10/26 Javascript
Nodejs中获取当前函数被调用的行数及文件名详解
2018/12/12 NodeJs
JavaScript设计模式--简单工厂模式定义与应用案例详解
2020/05/23 Javascript
解决ant-design-vue中menu菜单无法默认展开的问题
2020/10/31 Javascript
Windows下实现Python2和Python3两个版共存的方法
2015/06/12 Python
python Opencv将图片转为字符画
2021/02/19 Python
Python实现常见的回文字符串算法
2018/11/14 Python
python Dijkstra算法实现最短路径问题的方法
2019/09/19 Python
python numpy矩阵信息说明,shape,size,dtype
2020/05/22 Python
PyQt5实现画布小程序
2020/05/30 Python
python利用 keyboard 库记录键盘事件
2020/10/16 Python
Staples英国官方网站:办公用品一站式采购
2017/10/06 全球购物
新西兰航空中国官网:Air New Zealand China
2018/07/24 全球购物
Flesh Beauty官网:露华浓集团旗下彩妆品牌
2021/02/15 全球购物
水利学院求职自荐书
2014/02/01 职场文书
关于群众路线的心得体会
2014/11/05 职场文书
2014年管理人员工作总结
2014/12/01 职场文书
关于开学的感想
2015/08/10 职场文书
安全责任协议书范本
2016/03/23 职场文书
Python Matplotlib绘制两个Y轴图像
2022/04/13 Python