概念
- 事件委托,就是某个事件本来该自己干的,但是自己不干,交给别人来干。就叫事件委托。打个比方:一个button对象,本来自己需要监控自身的点击事件,但是自己不来监控这个点击事件,让自己的父节点来监控自己的点击事件。
- 冒泡机制,就是父节点监控着一块区域的点击事件,当点击事件触发时,会根据坐标来判断是哪一块区域被点击,然后确定事件对象的target属性或者说是srcelement属性。确定好了之后,这个事件对象,会往上一层一层的传递,如果当前的事件调用了stopPropagation();那么事件将会停留在这一层,也就是说,事件将不会被之上的层进行监控了
至于说事件委托和冒泡机制的关系,按照我的理解,事件委托知识一种描述性的概念,二冒泡机制才是一种具体的实现方式。
var toolbar = document.querySelector(".toolbar");
toolbar.addEventListener("click", function(e) {
var button = e.target;//e就表示事件
if(!button.classList.contains("active"))
button.classList.add("active");
else
button.classList.remove("active");
});
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。