• DOM中的事件对象和IE事件对象


    DOM中的事件对象 IE事件对象
    属性/方法 类型 读/写 说明 属性/方法 类型 读/写 说明
     bubles Boolean 只读  表明事件是否冒泡  cancleBubble Boolean 读/写

    默认为false,但将其设置为true就可以取消事件冒泡

    (与DOM中的stopPropagation()方法的作用相同)

     cancelable Boolean  只读  表明是否可以取消事件的默认行为   returnValue   Boolean  读/写

     默认为true,但将其设置为false就可以取消事件的默认行为

    (与DOM的preventDefault()方法的作用相同)

    currentTarget  Element  只读   其事件处理程序当前正在处理事件的那个元素  scrElement Element  只读   事件的目标(与DOM中的target属性相同)
     defaultPrevented Boolean  只读

    为true表示已经调用了preventDefault()

    (DOM3级事件新增)是否取消默认事件 

     type  String  只读  被触发的事件类型
    detail Integer 只读

    与事件相关的的细节信息

           
    eventPhase Integer 只读

    调用事件处理程序的阶段:1表示捕获阶段,

    2表示‘处于目标’,3表示冒泡阶段

           
    preventDefault() Function 只读 

    取消事件的默认行为,如果cancelable为true

    则可以使用这个方法

           
    stopImmediatePropagation() Function 只读

    取消默认事件的进一步捕获或冒泡,

    同时阻止任何事件处理程序被调用(DOM3级事件中新增)

           
     stopPropgation() Function  只读 

    取消事件进一步捕获或冒泡。如果bubbles为

    true,则可以使用这个方法 

           
     target  Element 只读   事件的目标        
     trusted Boolean  只读 

    为true表示是浏览器生成的

    为false表示是由开发人员通过js创建的 

           
    type String 只读

    被触发的事件类型

           
    view AbstractView 只读

    与事件关联的抽象视图

    等同于发生事件的window对象

           

    兼容DOM的浏览器会将一个Event对象传入到事件处理程序中,无论事件处理程序使用什么方法(DOM0或DOM2),都会传入Event对象

    IE中的事件对象

    访问IE中的event对象和DOM不一样,取决于制定事件处理程序的方法,在试用Dom0级方法添加事件处理程序时,event对象作为window对象的一个属性存在

    DOM0级方法

    obj.onclick = function(){
            alert(window.event.srcElement.parentNode);
            window.event.returnValue = false;
            return false;
        }

    如果是用attachEvent添加

    obj.attachEvent('onclick',function(event){
            alert(event.type);
        });
    oDiv.attachEvent('onclick',function(){
            document.body.innerHTML += this; //attachEvent内部this指向window
        });

    因为在IE中事件处理程序的作用域是根据制定他的方式确定的,所以不能认为this会始终等于事件目标故而使用Event.srcElement 事件源元素

     取消事件的默认行为

    var link = document.getElementById('a1');
        link.onclick = function(event){
            alert(window.event.type);
            window.event.returnValue = false;
        }

    取消事件冒泡

    var link = document.getElementById('a1');
        link.onclick = function(event){
            alert(window.event.type);
            window.event.cancelBubble = true;
        }
  • 相关阅读:
    SuperSocket中的Server是如何初Start的
    SuperSocket中的Server是如何初Initialize的
    Explicit Interface Implementation (C# Programming Guide)
    Interfaces (C# Programming Guide)
    Java泛型Restletclient
    jQuery 完成ajax传jsonObject数据,并在后台处理
    SDUT 2933-人活着系列Streetlights(最小生成树Kruskal+和理查德设置来实现)
    华为OJ:查找字符的第一个字符串只出现一次
    Linux查找多个类似,但不同的名称和重命名文件
    【Java收集的源代码分析】Hashtable源代码分析
  • 原文地址:https://www.cnblogs.com/jokes/p/9641766.html
Copyright © 2020-2023  润新知