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

  • 相关阅读:
    git 使用命令
    Mac上部署Jenkins,用git插件更新项目代码时报错的记录
    pycharm找不到本项目中的其他包或模块
    小米8线刷pixel experience全过程记录
    python环境清理
    怎么实现无遮罩屏蔽某些按钮的点击事件
    ios 上 WebCamTexture尺寸是16X16
    关于月份拆分
    关于const let的使用
    关于promise,const函数的使用
  • 原文地址:https://www.cnblogs.com/diantao/p/5209454.html
Copyright © 2011-2022 走看看