zoukankan      html  css  js  c++  java
  • 跨浏览器事件EventUtil

    <div style=" 150px; height: 150px; padding: 25px; border:1px solid blue; " id="divBox">
    	<p style=" 100px; height: 100px; padding:25px; border:1px solid red; " id="pBox">
    		<span style="50px; height:50px; border:1px solid gray; display: block;" id="spanBox">span</span>
    	</p>
    </div>
    
    var divBox = document.getElementById('divBox');
    var pBox = document.getElementById("pBox");
    var spanBox = document.getElementById("spanBox");
    function handler(event){
    	var target = EventUtil.target(EventUtil.event(event));
    	switch(target.id){
    			case "divBox":
    				alert("this is divBox...");
    				break;
    			case "pBox":
    				alert("this is pBox");
    				break;
    			case "spanBox":
    				alert("this is spanBox...");
    				break;
    
    		}
    }
    EventUtil = {
    	addEventListener:function(ele,type,callback,capture){
    		if(window.addEventListener){
    			ele.addEventListener(type,callback,capture);
    		}else if(window.attachEvent){
    			ele.attachEvent("on"+type,callback);
    		}else{
    			ele["on"+type] = callback;
    		}
    	},
    	removeEventListener:function(){
    		if(window.removeEventListener){
    			ele.removeEventListener(type,callback,capture);
    		}else if(window.detachEvent){
    			ele.detachEvent("on"+type,callback);
    		}else{
    			ele["on"+type] = null;
    		}
    	},
    	event:function(event){
    		return event = event || window.event;
    	},
    	target:function(event){
    		var target = event.target || event.srcElement;
    		return target;
    	},
    	preventDefault:function(event){
    		if(event.preventDefault){
    			event.preventDefault();
    		}else{
    			event.returnValue = false;
    		}
    	}
    }
    
    EventUtil.addEventListener(divBox,"click",handler,false);
    

    以上是本人自己写的,不是很全面,更全面的版本参考以下网址:

    http://blog.csdn.net/guoyz_1/article/details/5521008

  • 相关阅读:
    C# 中的委托和事件
    POJ题目分类
    A*算法
    Poj 1077 eight(BFS+全序列Hash解八数码问题)
    Poj 2304 Combination Lock(模拟顺、逆时钟开组合锁)
    Poj 2247 Humble Numbers(求只能被2,3,5, 7 整除的数)
    Poj 2328 Guessing Game(猜数字游戏)
    Poj 2403 Hay Points(Map)
    Poj 1338 Ugly Numbers(数学推导)
    Poj 1504 Adding Reversed Numbers(用字符串反转数字)
  • 原文地址:https://www.cnblogs.com/diantao/p/5209454.html
Copyright © 2011-2022 走看看