首页 > 代码库 > IE 的事件对象(event)

IE 的事件对象(event)

与访问 DOM 中的 event 对象不同,要访问 IE 中的 event 对象有几种不同的方式,取决于指定事 件处理程序的方法。

  • 在使用 DOM0 级方法添加事件处理程序时,event 对象作为 window 对象的一个 属性存在
var btn = document.getElementById("myBtn");
btn.onclick = function(){
 var event = window.event;
 alert(event.type); //"click"
}; 
  • 如果事件处理程序是使用 attachEvent()添加的,那 么就会有一个 event 对象作为参数被传入事件处理程序函数中,
var btn = document.getElementById("myBtn");
btn.attachEvent("onclick", function(event){
 alert(event.type); //"click"
}); 
  • 是通过HTML特性指定的事件处理程序,那么还可以通过一个名叫event的变量来访问event 对象(与 DOM 中的事件模型相同)
<input type="button" value="http://www.mamicode.com/Click Me" onclick="alert(event.type)"> 

 

技术分享

returnValue 属性相当于 DOM 中的 preventDefault()方法,它们的作用都是取消 给定事件的默认行为。

var link = document.getElementById("myLink");
link.onclick = function(){
 window.event.returnValue = false;
}; 

cancelBubble 属性与 DOM 中的 stopPropagation()方法作用相同,都是用来停止事 件冒泡的。由于 IE 不支持事件捕获,因而只能取消事件冒泡;

var btn = document.getElementById("myBtn");
btn.onclick = function(){
 alert("Clicked");
 window.event.cancelBubble = true;
};
document.body.onclick = function(){
 alert("Body clicked");
}; 

 

IE 的事件对象(event)