DOM中的事件对象: 无论指定事件处理程序时用了什么方法(DOM0级或DOM2级),都会传入event对象。用HTML特性指定事件处理程序时,变量event中存着event对象。 事件处理程序内部,this始终等于currentTarget,target为实际作用目标。
event对象的常用属性和方法:
event.target等极常用的。。。。
event.preventDefault(): 阻止特定事件的默认行为。
event.stopPropagation():用于立即停止事件在DOM层次中的传播。
event.eventPhase属性: 确定事件当前正位于事件流的哪个阶段。
IE(浏览器)中的事件对象: 与访问DOM中的event对象不同,访问IE中的event对象有几种不同的方式,取决于是用的什么方法(DOM0,DOM2两方法,IE两方法)指定的事件处理程序。在IE中,event参数是未定义的(undefined)。所以在EventUtil里提供的是window。event。使用DOM0级方法添加事件处理程序时,event为window的一个属性。
var btn = document.getElementById('mybtn');
btn.onclick = function(){
var event = window.event;
alert(event.type);//"click"
}
attachEvent()添加时(所以IE版本都有此方法),even对象作为唯一参数传入,也可通过window来访问event对象:
var btn = document.getElementById("myBtn");
btn.attachEvent("onclick", function(event){
alert(event.type); //"click"
});
如果event Handler 是通过HTML属性被授权的,event是作为一个变量被访问的,叫做event。
event对象的常用属性和方法:
event.srcElement属性: 事件的实际目标,与dom中的target属性相同。
event.returnValue()方法: 默认值是true,当设置成false时用以取消事件的默认行为。与dom中的preventDefault()相同。 event.cancleBubble属性:默认值时false,但可以被设置成true来取消事件冒泡,与dom中的 stopPropagation()方法相同.