IE 的事件对象(event)

Posted 剑阁王者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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="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)的主要内容,如果未能解决你的问题,请参考以下文章

js中的鼠标滚轮事件

事件及事件对象

事件及事件对象

总结--------事件2

总结------事件3

Event Handler 事件处理程序 2 ---跨浏览器事件对象《高程3》