js事件中的event对象
addEvent(oDiv,"click",function(event){ console.log(event.bubbles+"事件是否冒泡"); console.log(event.cancelable +"是否可以取消默认行为") console.log(event.defaultPrevented+"DOM3新增,是否已经调用了preventDefault()"); console.log(event.target);//+"当前发生事件的对象"@ IE中为 event.srcElement console.log(event.currentTarget)//+"绑定的事件对象" console.log(event.detail)//与事件相关的细节信息(不知道有什么用。。) console.log(event.type);//发生了什么事件 console.log(event.eventPhase);//用于判断事件是否是冒泡进来的:返回1:表示捕获阶段;2表示处于目标;3表示冒泡进来的 event.preventDefault();//阻止默认事件@ IE8及以下 中函 直接在函数中return false event.stopPropagation();//阻止冒泡@ IE8及以下 中 event.cancelBubble=true; console.log(eventFn.getTarget(event)); }); function addEvent(obj,ev,fn){ if(obj.attachEvent) { obj.attachEvent("on"+ev,fn); } else { obj.addEventListener(ev,fn,false); } }
event.srcElement是IE下的属性
event.target是Firefox下的属性
Chrome浏览器同时有这两个属性
-------------------------------------------------------
兼容的event对象 冒泡 阻止默认事件。。
用法
eventFn.getTarget(event)
var eventFn = { 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; } } }