事件对象

事件对象

事件触发时,浏览器会给事件处理程序传一个对象event,这个对象封装了与事件相关的信息,比如事件类型,事件的目标元素...

DOM中的事件对象

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

属性:

bubbles                  表明事件是否冒泡
           cancelable              表明是否可以取消事件的默认行为
           currentTarget          事件处理程序当前正在处理事件的那个元素
           target                      事件的真正目标对象
           type                        事件类型
           eventPhase            调用事件处理程序的阶段:返回值是1表示捕获阶段 ,2表示处于目标阶段,3表示冒泡阶段

方法:

preventDefalut()     取消事件的默认行为。如果cancelable为true,则可以使用这个方法
           stopPropagation()   取消事件的进一步捕获或冒泡。如果bubbles为true,则可以使用该方法

注意:  只有在事件处理程序执行期间,event对象才会存在;一旦事件处理程序完成,event对象就会被销毁。

IE中的事件对象

属性:

cancelBubble          默认值是false,设置为true就可以取消事件冒泡(与DOM中的stopPropagation()方法的作用一致)

           returnValue             默认值是false,设置为true就可以取消事件的默认行为(与DOM中的preventDefalut()方法的作用一致)

           srcElement              事件的真正目标(与DOM中的target属性相同)

           type                         事件的类型

跨浏览器的事件对象

1.  事件对象跨浏览器

// 方法1
var e = e || event;
// 方法2
var e = event || window.event;

2.  事件的真正目标对象(跨浏览器)

var target = event.target || event.srcElement;

3.  阻止默认行为(跨浏览器)

// 方法1(IE8以上支持)
<a href="http://www.163.com" id="alink">去网易</a>
alink.onclick = function() {
    alert("click");
    return false; // 阻止浏览器的默认行为 
}
// 方法2
alink.onclick = function(e) {
    var e = e || event;
    e.preventDefalut?e.preventDefalut():e.returnValue = false;// 阻止默认行为 点击a元素不会跳转到网易
}

4.  阻止事件冒泡(跨浏览器)

e.stopPropagation?e.stopPropagation():e.cancelBubble();// 阻止事件冒泡

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值