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 相关文章推荐
动态加载js文件 document.createElement
Oct 14 Javascript
js中将字符串转换成json的三种方式
Jan 12 Javascript
js setTimeout opener的用法示例详解
Oct 23 Javascript
Javascript selection的兼容性写法介绍
Dec 20 Javascript
jQuery选择器之基本选择器与层次选择器
Mar 03 Javascript
js实现简洁的滑动门菜单(选项卡)效果代码
Sep 04 Javascript
javascript Slip.js实现整屏滑动的手机网页
Nov 25 Javascript
jquery实现的判断倒计时是否结束代码
Feb 05 Javascript
JavaScript 2048 游戏实例代码(简单易懂)
Mar 25 Javascript
微信小程序 Nginx环境配置详细介绍
Feb 14 Javascript
jQuery实现ajax回调函数带入参数的方法示例
Jun 26 jQuery
vue 实现特定条件下绑定事件
Nov 09 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
ionCube 一款类似zend的PHP加密/解密工具
2010/07/25 PHP
javascript下function声明一些小结
2007/12/28 Javascript
jQuery的实现原理的模拟代码 -2 数据部分
2010/08/01 Javascript
jQuery实现多按钮单击变色
2014/11/27 Javascript
jQuery EasyUI 布局之动态添加tabs标签页
2015/11/18 Javascript
jQuery stop()用法实例详解
2016/07/28 Javascript
JS实现数字格式千分位相互转换方法
2016/08/01 Javascript
ASP.NET jquery ajax传递参数的实例
2016/11/02 Javascript
BootStrap 模态框实现刷新网页并关闭功能
2017/01/04 Javascript
Vue 中批量下载文件并打包的示例代码
2017/11/20 Javascript
jQuery实现输入框的放大和缩小功能示例
2018/07/21 jQuery
vue实现重置表单信息为空的方法
2018/09/29 Javascript
JavaScript事件对象深入详解
2018/12/30 Javascript
[01:07:19]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第一场 1月19日
2021/03/11 DOTA
python实现的防DDoS脚本
2011/02/08 Python
忘记ftp密码使用python ftplib库暴力破解密码的方法示例
2014/01/22 Python
Python3.4编程实现简单抓取爬虫功能示例
2017/09/14 Python
在python中利用KNN实现对iris进行分类的方法
2018/12/11 Python
Python中查看变量的类型内存地址所占字节的大小
2019/06/26 Python
关于Python核心框架tornado的异步协程的2种方法详解
2019/08/28 Python
Django实现CAS+OAuth2的方法示例
2019/10/30 Python
Python 时间戳之获取整点凌晨时间戳的操作方法
2020/01/28 Python
哪些是python中web开发框架
2020/06/17 Python
Python中flatten( ),matrix.A用法说明
2020/07/05 Python
浅谈pc和移动端的响应式的使用
2019/01/03 HTML / CSS
英国花园家具中心:Garden Furniture Centre
2017/08/24 全球购物
Anthropologie英国:美国家喻户晓的休闲服装和家居产品品牌
2018/12/05 全球购物
JMS中Topic和Queue有什么区别
2013/05/15 面试题
简单而又朴实的个人求职信分享
2013/12/12 职场文书
迎新晚会主持词
2014/03/24 职场文书
个人贷款担保书
2014/04/01 职场文书
采购员岗位职责范本
2015/04/07 职场文书
幼儿园开学家长寄语(2015秋季)
2015/05/27 职场文书
前端学习——JavaScript原生实现购物车案例
2021/03/31 Javascript
React实现动效弹窗组件
2021/06/21 Javascript
Python编写nmap扫描工具
2021/07/21 Python