JS 冒泡 捕获 和阻止默认行为!

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_35480270/article/details/83243826

冒泡 捕获 和阻止默认行为!

//第三个参数 默认的是false 表示的是冒泡过程,为true捕获过程

//但是IE8 只存在冒泡过程 不存在捕获的流程

/attachEvent的this指向的是window 可以使用apple改变this指向

//只有IE8的情况下不兼容addEventListener 需要使用attachEvent来添加绑定时间

//给节点绑定事件的兼容写法
function jianrong(ele,type,fn){
		if(ele.addEventListener){  W3c规范
			
			ele.addEventListener(type,fn,true);
		}else if(ele.attachEvent){  //IE行为
			ele.attachEvent('on'+type,function(){
				fn.apply(ele,arguments);
			})
			//ele.attachEvent('on'+type,fn,false);
		}else{
			ele['on'+type] = fn;
		}
	}
//阻止事件冒泡的兼容写法
function hetHtml(event){
		//
		var ev = event || window.event;
		if(ev.stopPropagation){  //W3c规范
			ev.stopPropagation(); 
		}else{
			ev.cancelBubble = true;  //IE行为    阻止
		}
		
		alert(this.innerHTML);
	}
    
    阻止冒泡和捕获事件
    event.stopPropagation();   
    event.cancelBubble = true  //IE8及以下行为

    阻止默认事件行为
    event.preventDefault();

猜你喜欢

转载自blog.csdn.net/qq_35480270/article/details/83243826