DOM标准规定事件流包括三个阶段:事件捕获阶段、处于目标阶段和事件冒泡阶段

1).尽管“DOM2级事件”标准规范明确规定事件捕获阶段不会涉及事件目标,但是在IE9、Safari、Chrome、Firefox和Opera9.5及更高版本都会在捕获阶段触发事件对象上的事件。结果,就是有两次机会在目标对象上面操作事件。
2).并非所有的事件都会经过冒泡阶段 。所有的事件都要经过捕获阶段和处于目标阶段,但是有些事件会跳过冒泡阶段:如,获得输入焦点的focus事件和失去输入焦点的blur事件。
//事件代理同时绑定了li和span,当点击span的时候,li和span都会冒泡
//解决方法一、span的事件处理程序中阻止冒泡
 $(document).on('click', 'span', function(e){
	alert('li span');
	e.stopPropagation();
})
//解决方法二 li的事件处理程序中检测target元素
$(document).on('click', 'li', function (e) {
	if (e.target.nodeName == 'SPAN') {
	e.stopPropagation();
	return;
	}
	alert('li li');
});
注意: 1. dom.addEventListener中e.currentTarget 是指dom而 jQuery on 方法 e.currentTarget与该方法接收的第二个参数有关
		对象this始终等于e.currentTarget的值,而e.target则只是包含事件的实际目标,
	2. addEventListener(‘click’, handle, false), 第三个参数 是否在捕获阶段调用事件处理程序,
	 第三个参数 或者是 options  一个指定有关 listener 属性的可选参数对象。可用的选项如下:
	capture:  Boolean,表示 listener 会在该类型的事件捕获阶段传播到该 EventTarget 时触发。
	once:  Boolean,表示 listener 在添加之后最多只调用一次。如果是 true, listener 会在其被调用之后自动移除。
	passive: Boolean,设置为true时,表示 listener 永远不会调用 preventDefault()。如果 listener 仍然调用了这个函数,客户端将会忽略它并抛出一个控制台警告。
	mozSystemGroup: 只能在 XBL 或者是 Firefox’ chrome 使用,这是个 Boolean,表示 listener 被添加到 system group。