只是一个评论......</p>
早在浏览器大战时期,微软和网景就为他们的浏览器开发了截然不同的事件模型。W3C 在一定程度上对这些进行了标准化,但该标准是两者之间的一种折衷方案,许多东西仍然是双方专有的。
Netscape 死后,Mozilla.org 从灰烬中重生,催生了一堆浏览器(Mozilla、Firefox、Camino 等)。Mozilla 很好地实现了 W3C 标准,因此 Web 开发人员在必要时支持 W3C 标准和 IE 专有的东西。NN 的专有方法很快就被淘汰了,因此迅速减少的 Netscape Navigator (NN) 用户群变得焦躁不安,不得不购买新的浏览器。
另一方面,IE 拥有大约 95% 的用户份额,因此微软决定保留其大部分专有行为,同时支持它认为必要的标准。顺便说一句,为了生存,Opera 在这个时候非常像 IE,Mozilla 实现了许多不与标准冲突的 IE 东西(以及一些与标准冲突的东西),出于同样的原因。
因此,虽然大多数专有的 NN 东西消失了,但 IE 的东西一直存在,直到 MS 认为他们可以丢弃它。即使在最新版本中,仍然存在一些旧的 IE 专有内容,但其中一些仍然存在。
为了达到今天的水平,每个人都需要为标准而共同努力。请注意,当 IE 6 发布时,它很容易成为最符合标准的浏览器(但它固步自封的时间太长了,这是垄断力量的不利一面)。
也许 MS 有这个权利,在文档上设置的点击事件不应该冒泡到窗口。但很明显,大多数编写标准的人并不是这么想的,所以他们以不同的方式编写了它(请注意,MS 为 Web 标准机构做出了贡献,因此它有机会发表意见)。
无论如何,从版本 9 开始,IE 似乎和其他版本一样。据我所知,这种行为直到 HTML5(第 6.1.6.4 节事件和 Window 对象)才标准化,但很高兴被证明是错误的。