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 相关文章推荐
Javascript Math对象
Aug 13 Javascript
小议Javascript中的this指针
Mar 18 Javascript
基于jQuery的淡入淡出可自动切换的幻灯插件打包下载
Sep 15 Javascript
基于jQuery的星级评分插件
Aug 12 Javascript
基于jquery实现状态限定编辑的代码
Feb 11 Javascript
javaScript 计算两个日期的天数相差(示例代码)
Dec 27 Javascript
jQuery基础语法实例入门
Dec 23 Javascript
百度地图自定义控件分享
Mar 04 Javascript
基于Vue+element-ui 的Table二次封装的实现
Jul 20 Javascript
微信小程序使用echarts获取数据并生成折线图
Oct 16 Javascript
vue实现购物车列表
Jun 30 Javascript
JavaScript 判断浏览器是否是IE
Feb 19 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
用PHP实现登陆验证码(类似条行码状)
2006/10/09 PHP
一组PHP可逆加密解密算法实例代码
2014/01/21 PHP
PHP连接MSSQL2008/2005数据库(SQLSRV)配置实例
2014/10/22 PHP
PHP数组函数知识汇总
2016/05/12 PHP
php时间函数用法分析
2016/05/28 PHP
PHP的mysqli_set_charset()函数讲解
2019/01/23 PHP
图片上传即时显示缩略图的js代码
2009/05/27 Javascript
jQuery插件slick实现响应式移动端幻灯片图片切换特效
2015/04/12 Javascript
JavaScript检查数字是否为整数或浮点数的方法
2015/06/09 Javascript
利用Javascript实现简单的转盘抽奖
2017/02/13 Javascript
老生常谈jacascript DOM节点获取
2017/04/17 Javascript
AngularJS+bootstrap实现动态选择商品功能示例
2017/05/17 Javascript
详解tween.js的使用教程
2017/09/14 Javascript
vue.js单文件组件中非父子组件的传值实例
2018/09/13 Javascript
javascript实现简易计算器功能
2020/09/23 Javascript
在Python中使用M2Crypto模块实现AES加密的教程
2015/04/08 Python
Python生成器(Generator)详解
2015/04/13 Python
python中set常用操作汇总
2016/06/30 Python
python3基于OpenCV实现证件照背景替换
2018/07/18 Python
朴素贝叶斯Python实例及解析
2018/11/19 Python
python中嵌套函数的实操步骤
2019/02/27 Python
Python二进制文件读取并转换为浮点数详解
2019/06/25 Python
python数据预处理之数据标准化的几种处理方式
2019/07/17 Python
Django中的用户身份验证示例详解
2019/08/07 Python
python中with用法讲解
2020/02/07 Python
python脚本实现mp4中的音频提取并保存在原目录
2020/02/27 Python
师范教师专业大学生职业生涯规划范文
2014/03/02 职场文书
诚信贷款承诺书
2014/05/30 职场文书
司考复习计划
2015/01/19 职场文书
城管个人总结
2015/02/28 职场文书
个人年底工作总结
2015/03/10 职场文书
交流会主持词
2015/07/02 职场文书
医院岗前培训心得体会
2016/01/08 职场文书
将Python代码打包成.exe可执行文件的完整步骤
2021/05/12 Python
浅谈sql_@SelectProvider及使用注意说明
2021/08/04 Java/Android
MySQL 执行数据库更新update操作的时候数据库卡死了
2022/05/02 MySQL