为什么jQuery事件模型不支持事件Capture并且只支持事件冒泡

sus*_*ani 18 jquery

为什么jQuery事件模型不支持事件Capture并且只支持事件冒泡?

Fel*_*ing 12

因为并非所有浏览器都支持事件捕获,尤其是IE.由于jQuery应该是跨浏览器兼容的,它不能提供事件捕获(它可能模拟事件捕获,但如果它很容易,我相信他们会这样做).

  • 恕我直言,jquery 2.x应该支持它 (7认同)
  • 这是一个不支持某事的非常糟糕的理由.至少给用户选择的权力.我认为事件命名空间的强大功能对于jQuery来说非常方便,而使用原生JS则不是这样. (2认同)

nal*_*inc 5

这在jQuery 2中实际上是一个理想的功能,但核心团队非常相信允许捕获事件在整个jQuery事件系统中具有相同的地位会打开很多问题.原始票可以在这里找到[1].经过几次讨论,他们甚至关闭了机票.

此外,IE8和Opera 7.0之前的浏览器不支持事件捕获.由于jQuery的主要目标是提供跨浏览器支持,因此它不支持事件捕获.

更轻松一点,似乎jQuery更专注于利用基于事件冒泡到DOM树的事件委派.

[1] http://bugs.jquery.com/ticket/14953