事件对象

在触发DOM上的某个事件时,会产生一个事件对象event,这个对象包含着所有与事件有关的信息。

DOM中的事件对象

兼容DOM的浏览器会将一个event对象传入到事件处理程序中。如:

var btn = document.getElementById("myBtn");
btn.obclick = function(event){
    alert(event.type);
}
属性/方法读写说明
bubbles只读事件是否冒泡
cancelable只读是否可以取消事件的默认行为
defaultPrevented只读为true表示已经调用了preventDefault()
preventDefault()只读取消事件的默认行为
stopPropagation只读取消事件的进一步捕获或冒泡
target只读事件的目标
type只读被触发的事件的类型
evnetPhase只读1表示捕获阶段,2表示处于目标,3表示冒泡阶段

IE中的事件对象

与访问DOM中的event对象不同,要访问IE中的event对象有几种不同的方式,取决于指定事件处理程序的方法。在使用DOM0级方法添加事件处理程序时,event对象作为window对象的一个属性存在。如:

var btn = document.getElementById("myBtn");
btn.onclick = function(){
    var event = window.event;
    alert(event.type);
}
属性/方法读写说明
cancelBubble读/写默认为false,但将其设置为true就可以取消事件冒泡
returnValue读/写默认值为true,但将其设置为false就可以取消事件的默认行为
srcElement只读事件的目标(与DOM中的target属性相同)
type只读被触发的事件的类型

跨浏览器的事件对象

var EventUtil = {
    getEvent:function(event){
        return event||window.event;
    },
    getTarget:function(event){
        return event.target||event.srcElement;
    },
    preventDefault:function(event){
        if(event.preventDefault){
            event.preventDefault();
        }else {
            event.returnValue = false;
        }
    },
    stopPropagation:function(){
        if(event.stopPropagation){
            event.stopPropagation();
        }else {
            event.cancelBulle = true;
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值