JavaScript DOM 添加事件


Posted in Javascript onFebruary 14, 2009

因为对于支持DOM的浏览器来说,添加事件是用addEventListener()方法来给对象添加事件!
而对于MSIE来说则是用attachEvent()来给对象添加事件!这就使得我们必须用一个容器来装载这两个不同浏览器上对事件的处理方式!这样我们就可以直接调用addEvent()方法来给对象添加事件了!
这不是更方便?!呵呵……
让我们来看看吧!
/**
* 注册一个监听事件到元素
* @param {Object} node 所要添加事件的对象
* @param {Object} type 事件类型
* @param {Object} listener 事件方法
*/
function addEvent( node, type, listener ) {
//使用前面的方法检查兼容性以保证平稳退化
if(!(node = $(node))) return false;

if(node.attachEvent) { // 这是针对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;
}else if (node.addEventListener) {
// 这是针对支持DOM的浏览器的方法
node.addEventListener( type, listener, false );
return true;
}
// 若两种方法都不具备则返回false;
return false;
};
window['liujingning']['addEvent'] = addEvent;

使用方法:
比如我们要给页面的onload()上添加事件,我们就可以这样写:
liujingning.addEvent(window,'load',function(Event) { //这里写你要写的代码}
我们也可以给某个ID添加事件
var getId = document.getElementById('aa');
liujingning.addEvent(getId,'load',function(Event) { //这里写你要写的代码}

Javascript 相关文章推荐
硬盘浏览程序,保存成网页格式便可使用
Dec 03 Javascript
禁止JQuery中的load方法装载IE缓存中文件的方法
Sep 11 Javascript
Firebug入门指南(Firefox浏览器)
Aug 21 Javascript
Knockout visible绑定使用方法
Nov 15 Javascript
jquery中get,post和ajax方法的使用小结
Feb 04 Javascript
Javascript高级技巧分享
Feb 25 Javascript
window.location不跳转的问题解决方法
Apr 17 Javascript
原生JavaScript编写俄罗斯方块
Mar 30 Javascript
javascript过滤数组重复元素的实现方法
May 03 Javascript
vue打包相关细节整理(小结)
Sep 28 Javascript
vue下的@change事件的实现
Oct 25 Javascript
vue-cli在 history模式下的配置详解
Nov 26 Javascript
CSS+Table图文混排中实现文本自适应图片宽度(超简单+跨所有浏览器)
Feb 14 #Javascript
JavaScript实现动态增加文件域表单
Feb 12 #Javascript
从JavaScript 到 JQuery (1)学习小结
Feb 12 #Javascript
谷歌浏览器 insertCell与appendChild的区别
Feb 12 #Javascript
js 判断 enter 事件
Feb 12 #Javascript
JavaScript 克隆数组最简单的方法
Feb 12 #Javascript
js函数使用技巧之 setTimeout(function(){},0)
Feb 09 #Javascript
You might like
thinkPHP2.1自定义标签库的导入方法详解
2016/07/20 PHP
php 中htmlentities导致中文无法查询问题
2018/09/10 PHP
PHP-FPM 的管理和配置详解
2019/02/17 PHP
PHP+jQuery实现即点即改功能示例
2019/02/21 PHP
javascript中字符串替换函数replace()方法与c# 、vb 替换有一点不同
2010/06/25 Javascript
js 字符串转换成数字的三种方法
2013/03/23 Javascript
Js,alert出现乱码问题的解决方法
2013/06/19 Javascript
JS如何将UTC格式时间转本地格式
2013/09/04 Javascript
form表单只提交数据而不进行页面跳转的解决方案
2013/09/18 Javascript
js中for in语句的用法讲解
2015/04/24 Javascript
Jquery全屏相册插件zoomvisualizer具有调节放大与缩小功能
2015/11/02 Javascript
javascript加载xml 并解析各节点的值(实现方法)
2016/10/12 Javascript
AngularJS全局警告框实现方法示例
2017/05/18 Javascript
微信小程序录音与播放录音功能
2017/12/25 Javascript
JavaScript设计模式之代理模式实例分析
2019/01/16 Javascript
JS实现网页端猜数字小游戏
2020/03/06 Javascript
[55:18]Liquid vs Chaos 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
Python 字符串操作实现代码(截取/替换/查找/分割)
2013/06/08 Python
Python常见内置高效率函数用法示例
2018/07/31 Python
Django框架模板介绍
2019/01/15 Python
python实现剪切功能
2019/01/23 Python
Python可视化mhd格式和raw格式的医学图像并保存的方法
2019/01/24 Python
MyFrenchPharma中文网:最大的法国药妆平台
2016/10/07 全球购物
Foot Locker澳洲官网:美国运动服和鞋类零售商
2019/10/11 全球购物
JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?
2013/07/02 面试题
个人近期表现材料
2014/02/11 职场文书
办公室综合文员岗位职责范本
2014/02/13 职场文书
高中军训感想800字
2014/02/23 职场文书
职业生涯规划书前言
2014/04/15 职场文书
教师政风行风评议心得体会
2014/10/21 职场文书
加强作风建设演讲稿
2014/10/24 职场文书
长江三峡导游词
2015/01/31 职场文书
结婚典礼主持词
2015/06/29 职场文书
2016年八一建军节活动总结
2016/04/05 职场文书
Python机器学习之PCA降维算法详解
2021/05/19 Python
基于tensorflow权重文件的解读
2021/05/26 Python