dom事件流中包括事件捕获和事件冒泡,当不设置addEventListener时,是事件捕获和事件冒泡都会发生吗?当设置为true时捕获调用?事件委托原理为什么用的是事件冒泡?
那什么叫事件委托呢?它还有一个名字叫事件代理,JavaScript高级程序设计上讲:事件委托就是利用事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件。那这是什么意思呢?网上的各位大牛们讲事件委托基本上都用了同一个例子,就是取快递来解释这个现象,我仔细揣摩了一下,这个例子还真是恰当,我就不去想别的例子来解释了,借花献佛,我摘过来,大家认真领会一下事件委托到底是一个什么原理:
有三个同事预计会在周一收到快递。为签收快递,有两种办法:一是三个人在公司门口等快递;二是委托给前台MM代为签收。现实当中,我们大都采用委托的方案(公司也不会容忍那么多员工站在门口就为了等快递)。前台MM收到快递后,她会判断收件人是谁,然后按照收件人的要求签收,甚至代为付款。这种方案还有一个优势,那就是即使公司里来了新员工(不管多少),前台MM也会在收到寄给新员工的快递后核实并代为签收。
这里其实还有2层意思的:
第一,现在委托前台的同事是可以代为签收的,即程序中的现有的dom节点是有事件的;
原文链接:https://blog.csdn.net/sinat_26422099/article/details/78407972
事件委托不是为了阻止冒泡,而是利用了冒泡
。冒泡
,你灵机一动,哦~反正所有li的点击事件都会冒泡去ul,那我就只给ul添加事件不就好了,然后在ul点击时去判断是哪个li就好了嘛
。