当前位置: 首页 > 图文教程 > 网络编程 > Javascript > JavaScript DOM 添加事件

Javascript
javascript 异常处理使用总结
ExtJS扩展 垂直tabLayout实现代码
JavaScript 新手24条实用建议[TUTS+]
PNG背景在不同浏览器下的应用
实现超用户体验 table排序javascript实现代码
利用JQuery为搜索栏增加tag提示
JQuery 前台切换网站的样式实现
WordPress JQuery处理沙发头像
js form 验证函数 当前比较流行的错误提示
JQuery 无废话系列教程(一) jquery入门 [推荐]
jQuery 表单验证插件formValidation实现个性化错误提示
JQuery 入门实例1
jQuery 可以拖动的div实现代码 修正版
javascript DOM对象的学习实例代码
css 二级菜单 实现代码集合 修正版
ExtJS GTGrid 简单用户管理
jQuery DIV弹出效果实现代码
Javascript 调试利器 Firebug使用详解六
深入javascript json QQ网页登陆
类似新浪网的 弹出视频功能实现代码

Javascript 中的 JavaScript DOM 添加事件


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 459 ::
收藏到网摘: n/a

这是我在给库中添加事件的时候写的添加事件的方法!这个方法实现了跨浏览器之间的方法! 因为对于支持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) { //这里写你要写的代码}