请先看测试页面:event-bubbling-test.html

结论:
  1. IE下,父级容器只接收自身也有的冒泡事件。
  2. IE下,某些事件类型,比如propertychange,不会产生冒泡。
  3. IE下,移除自身的事件,冒泡会被终止。
  4. 上一条的解决办法是,将移除自身的操作放在setTimeout里,排队到线程后面。
  5. IE里,setTimeout会改变执行环境,比如Event.getTarget(ev)放在里面将导致错误。
  6. 将Event.getTarget(ev)放在setTimeout外面,则一切ok.

总之,IE下,采用父级容器来代理捕捉冒泡事件时,要小心谨慎,多加测试。
附加一点小感慨:阻止链接a的默认事件时,用preventDefault足矣,stopEvent会对之后的扩展带来麻烦。

对于事件代理,可以参阅这篇文章:JavaScript事件代理比你想象中的简单
对于setTimeout,可以看看这篇心得:对How JavaScript Timers Work的理解