¿Por qué el modelo de eventos jQuery no es compatible con el evento Capture y solo admite el evento de borboteo?¿Por qué el modelo de eventos jQuery no admite el evento Capture y solo admite el evento de borboteo
¿Por qué el modelo de eventos jQuery no admite el evento Capture y solo admite el evento de borboteo
Respuesta
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).
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.
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
- 1. jQuery no admite el evento postmensaje?
- 2. ¿Admite EmberJs el patrón de evento de publicación/suscriptor?
- 3. ¿Por qué XmlSerializer no admite el diccionario?
- 4. Javascript - detectar si se admite el evento lister
- 5. jQuery Mobile: reemplace el evento click por el evento vclick
- 6. ¿Admite el navegador iPad jQuery?
- 7. Javascript: ¿Capture el evento de la rueda del mouse y no se desplace por la página?
- 8. ¿Por qué el Data.Set de Haskell no admite conjuntos infinitos?
- 9. ¿Por qué no se admite multitarea en el iPhone?
- 10. detectar si el navegador admite omisión de evento de clic derecho
- 11. jQuery cómo ejecutar el evento solo en el elemento interno
- 12. ¿Por qué CSS no admite el relleno negativo?
- 13. ¿boost.python no admite el paralelismo?
- 14. El objeto no admite el error de asignación de elemento
- 15. ¿Por qué el delegado no maneja el evento nulo?
- 16. Diferencia entre el evento KeyDown, el evento KeyPress y el evento KeyUp en Visual Studio
- 17. Modelo de evento JQuery y prevención de manipuladores duplicados
- 18. jQuery data() y el evento 'changeData'
- 19. ¿Por qué F # no admite clases anidadas?
- 20. ¿Qué versiones de IE usan el modelo de evento estándar?
- 21. ¿Por qué Java varargs no admite colecciones?
- 22. Backbone: ¿por qué un collection.reset no desencadena un evento modelo?
- 23. No se admite el nombre de cultura
- 24. ¿El iterador admite + operador?
- 25. ¿Por qué wsHttpBinding no admite la transmisión?
- 26. ¿Por qué no se admite Convert.ToDouble (char)?
- 27. ¿Por qué el TPL no admite las continuidades multitarea filtradas por el estado?
- 28. ¿Por qué gcc no admite funciones desnudas?
- 29. ¿Por qué obtengo una "Esta versión de MySQL aún no admite el error '...'"?
- 30. ¿Por qué auto_ptr no admite op -> *()
http://censore.blogspot.in/2014/09/js-event-bubbling-vs-event-capturing.html – biplav
en mi humilde opinión, 2.x jQuery debería apoyarlo –
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