在javascript中什么是事件委托 原理是什么

 我来答
cainiaokan
2017-03-10 · TA获得超过2917个赞
知道小有建树答主
回答量:651
采纳率:66%
帮助的人:627万
展开全部

要了解委托的原理,首先要理解DOM事件的过程。

Dom事件分为两个阶段,如图:

  1. 事件捕获阶段(红色箭头顺序)

  2. 事件冒泡阶段(绿色箭头顺序)


在事件捕获阶段,事件源依次从defaultView(可以理解为整个页面)一直传播到具体的目标(target)。从广泛到具体。

在事件冒泡阶段,事件源依次从target传播到defaultview。从具体到广泛,范围越来越大,像冒泡过程一样,气泡越来越大(范围越来越大)

而事件委托就是利用的DOM事件的事件捕获阶段。把具体dom上发生的事件,委托给更大范围的dom去处理。好比送信员,如果每次都把信件送给每一户,非常繁琐。但是如果交给一个大范围的管理者,比如小区的传达室,那么事情会变得非常简单。事件委托就类似这种原理,我页面中有很多按钮,如果不使用事件委托,我只能在每个按钮上注册事件。非常麻烦。但如果我把事件注册在一个大范围的div(假设所有的按钮都在这个div中),那么我只要注册一次事件,就可以处理所有按钮(只要按钮包含在上述div中)事件的响应了。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式