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;
                    }

                }




            }

 

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。