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 相关文章推荐
jQuery效果 slideToggle() 方法(在隐藏和显示之间切换)
Jun 28 Javascript
禁止IE用右键的JS代码
Dec 30 Javascript
jQuery提交多个表单的小技巧
Jul 27 Javascript
javascript实现支持移动设备画廊
Aug 24 Javascript
JavaScript获取function所有参数名的方法
Oct 30 Javascript
js运动应用实例解析
Dec 28 Javascript
微信小程序 switch组件详解及简单实例
Jan 10 Javascript
使用jQuery实现购物车结算功能
Aug 15 jQuery
详解用webpack的CommonsChunkPlugin提取公共代码的3种方式
Nov 09 Javascript
JS中判断字符串存在和非空的方法
Sep 12 Javascript
mpvue微信小程序多列选择器用法之省份城市选择的实现
Mar 07 Javascript
原生JavaScript实现弹幕组件的示例代码
Oct 12 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
可快速识别放射性物质-国外大神教你diy一个开放式辐射探测器
2020/03/12 无线电
德生PL450的电路分析和低放电路的改进办法
2021/03/02 无线电
如何利用PHP执行.SQL文件
2013/07/05 PHP
PHP中比较时间大小实例
2014/08/21 PHP
PHP数组操作实例分析【添加,删除,计算,反转,排序,查找等】
2016/12/24 PHP
php实现PDO中捕获SQL语句错误的方法
2017/02/16 PHP
PHP实现基于面向对象的mysqli扩展库增删改查操作工具类
2017/07/18 PHP
List the UTC Time on a Computer
2007/06/11 Javascript
Javascript 二维数组
2009/11/26 Javascript
基于jQuery实现表格数据的动态添加与统计的代码
2011/01/31 Javascript
jQuery之自动完成组件的深入解析
2013/06/19 Javascript
利用js实现前台动态添加文本框,后台获取文本框内容(示例代码)
2013/11/25 Javascript
jquery基础教程之deferred对象使用方法
2014/01/22 Javascript
js读取被点击次数的简单实例(从数据库中读取)
2014/03/07 Javascript
js 获取页面高度和宽度兼容 ie firefox chrome等
2014/05/14 Javascript
jQuery判断复选框是否勾选的原理及示例
2014/05/21 Javascript
JQuery中clone方法复制节点
2015/05/18 Javascript
JavaScript蒙板(model)功能的简单实现代码
2016/08/04 Javascript
基于Bootstrap的Metronic框架实现条码和二维码的生成及打印处理操作
2016/08/29 Javascript
微信小程序开发之实现选项卡(窗口顶部TabBar)页面切换
2016/11/25 Javascript
Vue 组件修改根实例的数据的方法
2019/04/02 Javascript
vue 自动化路由实现代码
2019/09/03 Javascript
[02:10]三分钟回顾完美世界城市挑战赛
2019/01/24 DOTA
Python实现将DOC文档转换为PDF的方法
2015/07/25 Python
使用Python的Twisted框架编写非阻塞程序的代码示例
2016/05/25 Python
全面了解python中的类,对象,方法,属性
2016/09/11 Python
Python连接PostgreSQL数据库的方法
2016/11/28 Python
django实现登录时候输入密码错误5次锁定用户十分钟
2017/11/05 Python
Python进阶之自定义对象实现切片功能
2019/01/07 Python
浅谈Python2之汉字编码为unicode的问题(即类似\xc3\xa4)
2019/08/12 Python
Django框架获取form表单数据方式总结
2020/04/22 Python
pytorch 多分类问题,计算百分比操作
2020/07/09 Python
泰国汽车、火车和轮渡票预订网站:Bus Online Ticket
2017/09/09 全球购物
在网上学习全世界最好的课程:Coursera
2017/11/07 全球购物
教师自荐信范文
2013/12/09 职场文书
工商局领导班子存在的问题整改措施思想汇报
2014/10/05 职场文书