日期:2014-05-16  浏览次数:20361 次

JavaScript中跨浏览器的事件方法

参考自《JavaScript高级程序设计》

	<script type="text/javascript">
		var EventUtil = {
			//增加事件处理器
			addEventHandler:function(element,type,handler){
				if(element.addEventListener)
					element.addEventListener(type,handler,false);
				else if(element.attachEvent)
					element.attachEvent("on" + type,handler);
				else
					element["on"+type] = handler;
			},
			
			//移除事件处理器
			removeEventHandler:function(element,type,handler){
				if(element.removeEventListener)
					element.removeEventListener(type,handler,false);
				else if(element.detachEvent)
					element.detachEvent("on" + type,handler);
				else
					element["on"+type] = null;
			},
			
			//获得当前的事件对象
			getEvent:function(event){
				return event ? event : window.event;
			},
			
			//获得当前的事件源对象
			getTarget:function(event){
				return event.target || event.srcElement;
			},
			
			//阻止事件的默认行为
			preventDefault:function(event){
				if(event.preventDefault)
					event.preventDefault();
				else
					event.returnValue = false;
			
			},
			
			//阻止事件冒泡
			stopPropagation:function(event){
				if(event.stopPropagation)
					event.stopPropagation();
				else
					event.cancelBubble = true;
			}
		};
	</script>

?