zoukankan      html  css  js  c++  java
  • 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;
        }
  • 相关阅读:
    Adaptive Cursor Sharing in Oracle Database 11g Release 1
    FORALL Support for NonConsecutive Indexes (Sparse Collections)
    设置会话TRACE的方法(一)
    Oracle 10g: UTL_MAIL
    Oracle :Parallel execution when table created.
    Server.MapPath
    Oracle10g :Nested Table Enhancements
    Asktom:Single Block IO Vs Multi Block IO
    Oracle10g新增DBMS_MONITOR包(一)
    设置会话TRACE的方法(二)
  • 原文地址:https://www.cnblogs.com/jokes/p/9641766.html
Copyright © 2011-2022 走看看