JS事件对象(event)的一些兼容性写法

  • 获得event对象兼容性写法 
    event || (event = window.event);
  • 获得target兼容型写法 
    event.target||event.srcElement
  • 阻止浏览器默认行为兼容性写法 
    event.preventDefault ? event.preventDefault() : (event.returnValue = false);
  • 阻止冒泡写法 
    event.stopPropagation ? event.stopPropagation() : (event.cancelBubble = true);
  • 添加事件监听和取消事件监听
  • //添加事件监听兼容函数
    function addHandler(target, eventType, handler){
    	if(target.addEventListener){//主流浏览器
    		addHandler = function(target, eventType, handler){
    			target.addEventListener(eventType, handler, false);
    		};
    	}else{//IE
    		addHandler = function(target, eventType, handler){
    			target.attachEvent("on"+eventType, handler);
    		};		
    	}
    	//执行新的函数
    	addHandler(target, eventType, handler);
    }
    //删除事件监听兼容函数
    function removeHandler(target, eventType, handler){
    	if(target.removeEventListener){//主流浏览器
    		removeHandler = function(target, eventType, handler){
    			target.removeEventListener(eventType, handler, false);
    		}		
    	}else{//IE
    		removeHandler = function(target, eventType, handler){
    			target.detachEvent("on"+eventType, handler);
    		}		
    	}
    	//执行新的函数
    	removeHandler(target, eventType, handler);
    }

    注:后者皆为兼容IE的兼容性写法

猜你喜欢

转载自blog.csdn.net/weixin_40920953/article/details/84591255