DOM事件中Event对象常见属性/方法

1.阻止默认事件(例如A标签设置click,防止A标签默认跳转)

event.preventDefault()

2.阻止冒泡(例如父级元素绑定事件,子元素页绑定事件,如果不取消冒泡,则点击子元素也会触发父元素事件)

event.stopPropagation()

3.阻止后续事件触发,写在A中,则后续注册的事件B不会被触发(例如按钮绑定两个事件,通过优先级的方式注册了A和B,在运行A的时候不运行B)

event.stopImmediatePropagation()

备注:如果某个元素有多个相同类型事件的事件监听函数,则当该类型的事件触发时,多个事件监听函数将按照顺序依次执行.如果某个监听函数执行了 event.stopImmediatePropagation()方法,则除了该事件的冒泡行为被阻止之外(event.stopPropagation方法的作用),该元素绑定的后序相同类型事件的监听函数的执行也将被阻止.

4.绑定事件的点,例如ul绑定事件,然后点击li,则currentTarget返回就是ul

event.currentTarget

5.发生事件的点,例如ul绑定事件,然后点击li,则target返回就是li。(早期IE使用srcElement

event.target

事件委托/代理的应用:事件委托(将子源的事件都代理绑定到父级上,如一个list的每个item都要绑定click事件,然后如果都绑定在item上的话,不好,所以绑定在item的parent上,然后通过target获取当前事件触发点)

// Make a list
var ul = document.createElement('ul');
document.body.appendChild(ul);

var li1 = document.createElement('li');
var li2 = document.createElement('li');
ul.appendChild(li1);
ul.appendChild(li2);

function hide(e){
  // e.target refers to the clicked <li> element
  // This is different than e.currentTarget which would refer to the parent <ul> in this context
  e.target.style.visibility = 'hidden';
  // e.target => li
  // e.currentTarget => ul
}

// Attach the listener to the list
// It will fire when each <li> is clicked
ul.addEventListener('click', hide, false);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值