事件相关
1.事件模型的理解
事件发生经历三个阶段
捕获阶段
目标阶段
冒泡阶段
冒泡事件:使用事件冒泡时,子元素先触发,父元素后触发
捕获事件:使用事件捕获时,父元素先触发,子元素后触发
DOM 事件流:同时支持两种事件模型:捕获型事件和冒泡型事件
阻止冒泡:使用 stopPropagation()方法 (在 IE 下设置 cancelBubble = true)
阻止捕获:阻止事件的默认行为 例如 click -<a> 后的跳转。使用 preventDefault() 方法
2. 说说你对事件流的理解
事件流分为两种,捕获事件流和冒泡事件流
捕获事件流从根节点开始执行,一直往子节点查找执行,直到查找执行到目标节点
冒泡事件流从目标节点开始执行,一直往父节点冒泡查找执行,直到查到到根节点
3.说说什么是事件代理?
事件代理,又称之为事件委托。是 JavaScript 中常用绑定事件的常技巧。
顾名思义,“事件代理”即是把原本需要绑定的事件委托给父元素,让父元素担当事件监听的职务。事件代理的原理是 DOM 元素的事件冒泡。
使用事件代理的好处是
可以提高性能。
可以大量节省内存占用,减少事件注册,比如在 table 上代理所有 td 的 click 事件就非常棒。 可以实现当新增子对象时无需再次对其绑定。
浙公网安备 33010602011771号