码迷,mamicode.com
首页 > Web开发 > 详细

js事件中的event对象

时间:2015-04-06 12:49:29      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:

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

                }




            }

 

 

js事件中的event对象

标签:

原文地址:http://www.cnblogs.com/websir/p/4395693.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!