首先,可以把他理解成踢球,不用单纯的理解成父传子或者子传父这一个方向,比如我们用事件绑定的是父亲,从父亲到儿子,父亲就把这个事件踢球一样,给了儿子,儿子有了这个事件。对应的函数就会执行,然后从儿子出来。进入父亲,又踢了一次球。 那我们现在理解下onmouseenter和onmouseover onmouseenter:不支持冒泡 mouseenter在这个过程中只会触发一次事件,是因为他不能冒泡,也就是从父亲到儿子,没有把球传过去,从儿子离开,再回到父亲。自然也就没有球了,因为前面的球断掉了,这里的球就是事件。 onmouseover:支持冒泡 这里鼠标不断地从父亲儿子这里移动,就是踢球的过程,把鼠标这个事件来回传递 常见的阻止冒泡:w3c的方法是e.stopPropagation(),IE则是使用e.cancelBubble = true,其实就是阻止父子之间踢球 速记: onmouseenter和onmouseleave是一对,不支持冒泡 onmouseover和onmouseout是一对,支持冒泡 技巧 enter和leave是一对反义词,over和out是一对反义词