前端DOM事件整理

1. DOM事件模型 : 事件捕获,事件冒泡

2. DOM事件流:

DOM0时代,制定了onclick写法,DOM2增加了addEventListener方法绑定事件(在IE中绑定事件用attachEvent),DOM3中增加了多种事件(鼠标,键盘等)的捕获

注:DOM1标准也是存在的,只是没有涉及事件相关的内容

DOM事件捕获流程:window -> document -> html -> body ->...(多层父级元素) -> 目标元素

注: html节点通过document.documentElement属性获取

常见例子:针对一个for循环给一个元素内多个子元素绑定事件,可以怎么优化。

 可以给父级元素绑定事件,通过currentTarget获取到对应点击的子元素节点,从而达到单独处理事件的目的。

自定义事件:

var eve = new Event('custome'),
    ev = document.getElementById('ev');

ev.addEventListener('costome', function() {
    console.log('custome');
})

ev.dispatchEvent(eve);

通过new Event对象创建自定义事件,通过addEventListener给DOM对象绑定自定义事件,dispatchEvent可以主动触发自定义事件

CustomEvent用法和Event相同,唯一区别是它在创建时可以额外传入一个object作为参数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值