问答详情
源自:3-1 jQuery表单事件之blur与focus事件

什么是冒泡处理?

什么是冒泡处理?

提问者:lxlacie 2016-12-20 14:05

个回答

  • 期待的眼神
    2016-12-20 14:54:39
    已采纳

    冒泡处理:也可以从字面意思理解为,气泡在水中会向上浮动。那么我们现在就解释什么是气泡浮动就好了。

    气泡:也就是所谓的触发事件。

    向上浮动:不仅会触发自身的事件,而且还会一级一级地向上浮动查找祖辈节点的同效果事件,直到根节点为止,没完没了。

    举例:在#div1 中有个子元素 #div2

    定义:#div1 的mouseout事件; #div2 的mouseout事件

    效果:当触发#div2 的mouseout事件时,一定会触发#div1 的mouseout事件。因为#div2触发事件后,它还没完,还会向上一级级查找祖辈们有没有定义相同的mouseout事件,如果有就触发,这里显然有定义#div1的mouseout事件,而且#div1还是#div2的父辈元素,所以会触发#div1的mouseout事件。(这里说的有点多,显得有点累赘,主要是想让你能理解。)

    如果把mouseout事件 替换成 mouseleave事件就不会了,因为mouseleave事件,只会触发自身的事件,不会冒泡祖辈们,让他们安静一点。