<ul>
<li></li>
<li></li>
</ul>
$("ul").on("click",function(event){
alert();
})
理解: 浏览器会监听页面元素,当元素产生事件时,会把事件逐层传递给父亲元素(禁止事件冒泡除外),如果传递过程中某个节点绑定了事件触发元素,则被触发。
先前自己的理解存在偏差,事件是委托给浏览器来监听的,严格来说我们写的onclick只是为这个事件绑定一个触发时的函数,而不是我们不写onclick就没有事件发生。
这个想明白了就很好理解事件冒泡了,li节点发生click事件-->然后产生事件冒泡-->检测到ul绑定时click触发函数-->触发之。
补充:如果要阻止事件冒泡,可以使用event.stopPropagation()函数。