冒泡是事件向外传递, 捕获是事件向内传递;
event.stopPropagation() 既可以阻止冒泡也可以阻止捕获
阻止冒泡时 事件向 外 传递到添加有stopPropagation()的元素后终止向 外 传
阻止捕获时 事件向 内 传递到添加有stopPropagation()的元素后终止向 内 传
<div onclick="eventProxy()">
<div>1</div>
<div>2</div>
<div>3</div>
</div>
上面的代码时事件代理, 利用的是事件冒泡的原理。点击每个div 都会触发 eventProxy()。
有些人可能会懵逼,你这不是事件写在父元素的吗子元素获得事件不应该是 从外向内传递吗?这应该是捕获啊?
你要是这么想只能说明 你把事件和监听器当成一回事了,
onclick是个监听器, 监听的事件类型 是 “click”
你点击div会产生一个 “click”事件 然后事件冒泡到父元素 被onclick监听器监听到触发函数 eventProxy();