2011-08-23 8 views

Respuesta

11

Porque no todos los navegadores admiten captura de eventos, especialmente IE. Como se supone que jQuery es compatible con varios navegadores, no puede ofrecer captura de eventos (podría simular la captura de eventos, pero si fuera fácil, estoy seguro de que lo hubieran hecho).

+0

http://censore.blogspot.in/2014/09/js-event-bubbling-vs-event-capturing.html – biplav

+7

en mi humilde opinión, 2.x jQuery debería apoyarlo –

+2

Eso es una muy mala razón para no apoyar algo. al menos darle al usuario el poder de elegir. Creo que el poder del espacio de nombres de eventos es muy conveniente con jQuery y no con JS nativo. – vsync

5

Esto era de hecho una característica deseable en jQuery 2, pero el equipo central estaba bastante convencido de que permitir que los eventos de captura tengan igual posición en todo el sistema de eventos jQuery abriría una gran cantidad de problemas. El boleto original se puede encontrar aquí [1]. Incluso cerraron el boleto después de algunas discusiones.

Además, los navegadores anteriores a IE8 y Opera 7.0 no admiten la captura de eventos. Dado que el objetivo principal de jQuery es proporcionar compatibilidad con varios navegadores, no es compatible con la captura de eventos.

En una nota más ligera, parece que jQuery está más enfocado a aprovechar Delegación de eventos que se basa en el borboteo de eventos hasta el árbol DOM.

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

+1

El objetivo de jquery 2.0 es dejar de admitir navegadores antiguos, por lo que los navegadores más antiguos que no admitan la captura de eventos no deberían ser un bloqueador para jquery 2 al menos. – Jens

Cuestiones relacionadas