事件对象——IE中的事件对象

总结:

1.IE浏览器中有三种事件处理程序:HTML事件处理程序,DOM0级事件处理程序,IE事件处理程序。

2.IE浏览器中的HTML事件处理程序调用事件对象:直接调用event变量:

onclick=“alert(event.type);”

3.IE浏览器中的DOM0级事件处理程序通过调用window.event得到事件对象:

btn.onclick=()=>{
    var event=window.event;
}

4.IE浏览器中的IE事件处理程序通过传入事件参数得到事件对象:

btn.attachEvent("onclick",(event)=>{
   alert(event.type);/click 
})
//相信这里调用arguments[0]也同样可以获得event对象,未进行实验

5.IE浏览器中事件对象的5个属性:cancelBubble、returnValue、srcElement、type分别对应DOM中的stopPropagation()、preventDefault()、target、type

6.this的指向:IE事件处理程序指向window,HTML和DOM0级事件处理程序指向程序所加载在的元素。

在IE浏览器中:

HTML事件处理程序中的事件对象的指针保存在event变量中,可以直接调用。

DOM0级事件处理程序中的事件对象的指针保存在window对象下的event属性上。通过window.event进行调用。

IE事件处理程序中的事件对象的指针保存在event变量中,事件流传递到事件处理程序上时会将event变量作为事件处理程序的参数进行传入。

即:

function a(event){
    alert(event.type);//"click"
}
var btn=document.getElementById("btn");
btn.attachEvent("onclick",a); 

在IE浏览器中,事件对象同样拥有属性方法:

1.cancelBubble:布尔值。默认值false,设定为true会阻止事件冒泡(IE浏览器不支持事件捕获,类似于DOM的stopPropagation)

2.returnVlaue:布尔值。默认值true,设定为false会取消事件默认行为(类似于DOM的preventDefault)

3.srcElement:元素。指向事件的目标元素。

4.typr:字符串。事件类型。

IE浏览器中html事件处理程序,DOM0级事件处理程序中的this指向当前程序所添加到的元素,IE事件处理程序的this指向window。

原文地址:https://www.cnblogs.com/Syinho/p/12252116.html