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 相关文章推荐
ECMAScript 基础知识
Jun 29 Javascript
jsPDF生成pdf后在网页展示实例
Jan 16 Javascript
jQuery实现带滚动导航效果的全屏滚动相册实例
Jun 19 Javascript
微信小程序 wxapp内容组件 progress详细介绍
Oct 31 Javascript
AngularJS ng-repeat指令中使用track by子语句解决重复数据遍历错误问题
Jan 21 Javascript
前端主流框架vue学习笔记第一篇
Jul 26 Javascript
JS实现的合并多个数组去重算法示例
Apr 11 Javascript
JS实现可针对算术表达式求值的计算器功能示例
Sep 04 Javascript
如何使用CSS3和JQuery easing 插件制作绚丽菜单
Jun 18 jQuery
Vue 的 v-model用法实例
Nov 23 Vue.js
Vue+element-ui添加自定义右键菜单的方法示例
Dec 08 Vue.js
vue项目中的支付功能实现(微信支付和支付宝支付)
Feb 18 Vue.js
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
四月新番又没了,《Re:从零开始的异世界生活》第二季延期至7月播出
2020/05/06 日漫
几种显示数据的方法的比较
2006/10/09 PHP
php smarty 二级分类代码和模版循环例子
2011/06/16 PHP
深入php socket的讲解与实例分析
2013/06/13 PHP
利用javascript查看html源文件
2006/11/08 Javascript
js 判断浏览器类型 去全角、半角空格 自动关闭当前窗口
2009/04/10 Javascript
jQuery 使用手册(三)
2009/09/23 Javascript
简单的Jquery遮罩层代码实例
2013/11/14 Javascript
javascript中的原型链深入理解
2014/02/24 Javascript
基于 Docker 开发 NodeJS 应用
2014/07/30 NodeJs
JS获取当前网页大小以及屏幕分辨率等
2014/09/05 Javascript
jQuery树形控件zTree使用小结
2016/08/02 Javascript
xcode中获取js文件的路径方法(推荐)
2016/11/05 Javascript
基于jQuery的select下拉框选择触发事件实例分析
2016/11/18 Javascript
vuejs绑定class和style样式
2017/04/11 Javascript
Vue.js实现一个SPA登录页面的过程【推荐】
2017/04/29 Javascript
原生JS实现网页手机音乐播放器 歌词同步播放的示例
2018/02/02 Javascript
Node.js中,在cmd界面,进入退出Node.js运行环境的方法
2018/05/12 Javascript
判断iOS、Android以及PC端的示例代码
2018/11/15 Javascript
深入koa-bodyparser原理解析
2019/01/16 Javascript
python爬虫教程之爬取百度贴吧并下载的示例
2014/03/07 Python
python字符串对其居中显示的方法
2015/07/11 Python
Python读取一个目录下所有目录和文件的方法
2016/07/15 Python
Python3网络爬虫中的requests高级用法详解
2019/06/18 Python
Django logging配置及使用详解
2019/07/23 Python
用python实现学生管理系统
2020/07/24 Python
HTML5新特性 多线程(Worker SharedWorker)
2017/04/24 HTML / CSS
天猫超市:阿里巴巴打造的网上超市
2016/11/02 全球购物
Casadei卡萨蒂官网:意大利奢侈鞋履品牌
2017/10/28 全球购物
Cotton On南非:澳洲时尚平价品牌
2018/06/28 全球购物
思想品德课教学反思
2014/02/10 职场文书
幼儿园安全生产月活动总结
2014/07/05 职场文书
基层党建工作汇报材料
2014/08/15 职场文书
信息与计算机科学职业规划范文:成为一艘有方向的船
2014/09/11 职场文书
2019学校运动会开幕词
2019/05/13 职场文书
关于PHP数组迭代器的使用方法实例
2021/11/17 PHP