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 相关文章推荐
ParseInt函数参数设置介绍
Jan 02 Javascript
javascript回车完美实现tab切换功能
Mar 13 Javascript
js使用post 方式打开新窗口
Feb 26 Javascript
表单input项使用label同时引用Bootstrap库导致input点击效果区增大问题
Oct 11 Javascript
不使用 JS 匿名函数理由
Nov 17 Javascript
Vue之Mixins(混入)的使用方法
Sep 24 Javascript
javascript实现点击星星小游戏
Dec 24 Javascript
使用JavaScript获取扫码枪扫描得到的条形码的思路代码详解
Jun 10 Javascript
微信小程序实现canvas分享朋友圈海报
Jun 21 Javascript
微信小程序学习之自定义滚动弹窗
Dec 20 Javascript
微信小程序onShareTimeline()实现分享朋友圈
Jan 07 Javascript
JavaScript如何实现防止重复的网络请求的示例
Jan 28 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 代码优化之经典示例
2011/03/24 PHP
php中curl和file_get_content的区别
2014/05/10 PHP
php curl批处理实现可控并发异步操作示例
2018/05/09 PHP
PHP实现关键字搜索后描红功能示例
2019/07/03 PHP
Extjs TriggerField在弹出窗口显示不出问题的解决方法
2010/01/08 Javascript
jQuery Tools Dateinput使用介绍
2012/07/14 Javascript
让图片旋转任意角度及JQuery插件使用介绍
2013/03/20 Javascript
jquery删除指定的html标签并保留标签内文本内容的方法
2014/04/02 Javascript
jquery防止重复执行动画避免页面混乱
2014/04/22 Javascript
jQuery源码分析之jQuery.fn.each与jQuery.each用法
2015/01/23 Javascript
JavaScript实现简单图片翻转的方法
2015/04/17 Javascript
javascript三种代码注释方法
2016/06/02 Javascript
Three.js学习之网格
2016/08/10 Javascript
element ui table(表格)实现点击一行展开功能
2018/12/04 Javascript
如何检查一个对象是否为空
2019/04/11 Javascript
微信小程序开发常见问题及解决方案
2019/07/11 Javascript
详解vue中使用axios对同一个接口连续请求导致返回数据混乱的问题
2019/11/06 Javascript
浅谈vuex的基本用法和mapaction传值问题
2019/11/08 Javascript
详细分析Node.js 多进程
2020/06/22 Javascript
Python之批量创建文件的实例讲解
2018/05/10 Python
详谈Python 窗体(tkinter)表格数据(Treeview)
2018/10/11 Python
python获取中文字符串长度的方法
2018/11/14 Python
Python自动化之数据驱动让你的脚本简洁10倍【推荐】
2019/06/04 Python
Django  ORM 练习题及答案
2019/07/19 Python
css3类选择器之结合元素选择器和多类选择器用法
2017/03/09 HTML / CSS
小天鹅官方商城:LittleSwan
2017/06/16 全球购物
酒店管理专业毕业生推荐信
2013/11/10 职场文书
医学检验专业大学生求职信
2013/11/18 职场文书
企事业单位求职者的自我评价
2013/12/28 职场文书
销售助理岗位职责
2015/02/11 职场文书
个人年底工作总结
2015/03/10 职场文书
python自动统计zabbix系统监控覆盖率的示例代码
2021/04/03 Python
这样写python注释让代码更加的优雅
2021/06/02 Python
浅析MongoDB之安全认证
2021/06/26 MongoDB
十大公认最好看的动漫:《咒术回战》在榜,《钢之炼金术师》第一
2022/03/18 日漫
动作冒险《Hell Is Us》将采用虚幻5 消灭怪物探索王国
2022/04/13 其他游戏