JavaScript中的事件对象

在触发DOM上的事件时都会产生一个对象,即事件对象event。
1.DOM中的事件对象event
有以下常用的属性和方法:
type属性:用于获取事件类型
target属性:用于获取事件目标,即哪个元素
stopPropagation()方法:阻止事件冒泡,即不执行上级祖先元素的行为
preventDefault()方法:阻止事件的默认行为,例如元素a的自动跳转行为,在移动端应用较多。
2.IE中的事件对象
IE8之前的浏览器要用window.event,所以在处理前先写一句event=event || window.event;
有以下常用的属性:
type属性:获取事件类型
secElement属性:获取事件目标
cancelBubble属性:阻止事件冒泡,是一个布尔值,当设置为true时表示阻止事件冒泡,设置为false时表示不阻止。
returnValue属性:阻止事件的默认行为,设置为false表示阻止事件的默认行为。
为了解决浏览器兼容问题,同样地,我们可以把方法封装在上一节的对象eventUtil中。代码如下:

            getEvent:function(event){
                return event?event:window.event;
            },
            getType:function(event){
                return event.type;
            },
            getElement:function(event){
                 return event.target || event.srcElement;
            },
            preventDefault:function(event){
                if(event.preventDefault){
                    event.preventDefault();
                }else{
                    event.returnValue=false;
                }
            },
            stopPropagation:function(event){
                if(event.stopPropagation){
                    event.stopPropagation();
                }else{
                    event.cancelBubble=true;
                }
            }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值