【JS深刻学习】——事件代理/事件委托

事件代理/事件委托(event delegation)浏览器

需求一:当一个div内部有多个事件发生,给每一个元素逐个添加事件十分麻烦...this

需求二:在项目中咱们经常须要动态的添加元素,不可避免的须要为那些将来添加的元素增长事件...spa

咱们:怎么办呢?代理

事件委托:我能够!使用我能让你避免对特定的每一个节点添加事件监听器。事件

咱们:你究竟是什么鬼? get

事件委托:我又叫事件代理,说白了就是利用浏览器事件捕获和冒泡的原理,将事件监听器添加到特定节点的父元素上,我就会分析从子元素冒泡上来的事件,找到是哪一个子元素的事件。it

举个栗子:io

$(parentsEle).click(function (e) {
var e = e || window.event,
targetEle = e.target || e.srcElement,
_this = this;
switch (targetEle.className) {
case "font_r":
$(targetEle).fadeOut();
_this.siblings(".header").fadeIn();
break;
}
})

明白了吗?event

相关文章
相关标签/搜索