
在javascript中什么是事件委托 原理是什么
1个回答
展开全部
要了解委托的原理,首先要理解DOM事件的过程。
Dom事件分为两个阶段,如图:
事件捕获阶段(红色箭头顺序)
事件冒泡阶段(绿色箭头顺序)
在事件捕获阶段,事件源依次从defaultView(可以理解为整个页面)一直传播到具体的目标(target)。从广泛到具体。
在事件冒泡阶段,事件源依次从target传播到defaultview。从具体到广泛,范围越来越大,像冒泡过程一样,气泡越来越大(范围越来越大)
而事件委托就是利用的DOM事件的事件捕获阶段。把具体dom上发生的事件,委托给更大范围的dom去处理。好比送信员,如果每次都把信件送给每一户,非常繁琐。但是如果交给一个大范围的管理者,比如小区的传达室,那么事情会变得非常简单。事件委托就类似这种原理,我页面中有很多按钮,如果不使用事件委托,我只能在每个按钮上注册事件。非常麻烦。但如果我把事件注册在一个大范围的div(假设所有的按钮都在这个div中),那么我只要注册一次事件,就可以处理所有按钮(只要按钮包含在上述div中)事件的响应了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询