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 相关文章推荐
JScript的条件编译
May 29 Javascript
通过修改referer下载文件的方法
May 11 Javascript
javascript 写类方式之十
Jul 05 Javascript
js打开新窗口方法整理
Feb 17 Javascript
javascript页面上使用动态时间具体实现
Mar 18 Javascript
javascript实现复选框超过限制即弹出警告框的方法
Feb 25 Javascript
基于JavaScript FileReader上传图片显示本地链接
May 27 Javascript
深入理解JavaScript中的并行处理
Sep 22 Javascript
jQuery实现的模拟弹出窗口功能示例
Nov 24 Javascript
Vue.js实现微信过渡动画左右切换效果
Jun 13 Javascript
vue-resource:jsonp请求百度搜索的接口示例
Nov 09 Javascript
如何配置vue.config.js 处理static文件夹下的静态文件
Jun 19 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
盘点被央视点名过的日本动画电影 一部比一部强
2020/03/08 日漫
基于mysql的论坛(7)
2006/10/09 PHP
PHP基础之运算符的使用方法
2013/04/28 PHP
php中curl和file_get_content的区别
2014/05/10 PHP
thinkPHP2.1自定义标签库的导入方法详解
2016/07/20 PHP
PHP编写简单的App接口
2016/08/28 PHP
php使用fputcsv实现大数据的导出操作详解
2020/02/27 PHP
javascript之学会吝啬 精简代码
2010/04/25 Javascript
颜色选择器 Color Picker,IE,Firefox,Opera,Safar
2010/11/25 Javascript
理解jQuery stop()方法
2014/11/21 Javascript
详解JavaScript正则表达式之RegExp对象
2015/12/13 Javascript
学JavaScript七大注意事项【必看】
2016/05/04 Javascript
使用js获取地址栏参数的方法推荐(超级简单)
2016/06/14 Javascript
bootstrapValidator自定验证方法写法
2016/12/01 Javascript
微信小程序进行微信支付的步骤昂述
2016/12/01 Javascript
微信小程序 Windows2008 R2服务器配置TLS1.2方法
2016/12/05 Javascript
js/jquery控制页面动态加载数据 滑动滚动条自动加载事件的方法
2017/02/08 Javascript
微信小程序适配iphoneX的实现方法
2018/09/18 Javascript
element-ui tooltip修改背景颜色和箭头颜色的实现
2019/12/16 Javascript
python结合shell查询google关键词排名的实现代码
2016/02/27 Python
Python内置数据结构与操作符的练习题集锦
2016/07/01 Python
利用python生成照片墙的示例代码
2020/04/09 Python
tensorflow 20:搭网络,导出模型,运行模型的实例
2020/05/26 Python
Python bisect模块原理及常见实例
2020/06/17 Python
国外最大的眼镜网站:Coastal
2017/08/09 全球购物
乐高奥地利官方商店:LEGO Shop AT
2019/07/16 全球购物
会计电算化大学生职业规划书
2014/02/05 职场文书
销售经理竞聘书
2014/03/31 职场文书
质量管理标语
2014/06/12 职场文书
大学英语专业求职信
2014/06/21 职场文书
助人为乐道德模范事迹材料
2014/08/16 职场文书
2015秋季开学典礼演讲稿
2015/07/16 职场文书
师德师风心得体会(2016精选篇)
2016/01/12 职场文书
详解vue身份认证管理和租户管理
2021/05/25 Vue.js
分布式架构Redis中有哪些数据结构及底层实现原理
2022/03/13 Redis
使用CSS自定义属性实现骨架屏效果
2022/06/21 HTML / CSS