2011-08-23 15 views

Odpowiedz

11

Ponieważ nie wszystkie przeglądarki obsługują przechwytywanie zdarzeń, szczególnie IE. Ponieważ jQuery ma być kompatybilny z różnymi przeglądarkami, nie może oferować przechwytywania zdarzeń (może być możliwe symulowanie przechwytywania zdarzeń, ale gdyby było to łatwe, jestem pewien, że by to zrobili).

+0

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

+7

IMHO, jQuery 2.x Powinien on wspierać –

+2

To bardzo zły powód, by nie wspierać czegoś. przynajmniej dać użytkownikowi możliwość wyboru. Wydaje mi się, że moc przestrzeni nazw jest bardzo wygodna dla jQuery, a nie dla rodzimego JS. – vsync

5

To była pożądana funkcja jQuery 2, ale zespół główny był prawie przekonany, że umożliwienie przechwytywania zdarzeń mających taką samą pozycję w całym systemie zdarzeń jQuery spowodowałoby wiele problemów. Oryginalny bilet można znaleźć tutaj [1]. Zamknęli nawet bilet po kilku dyskusjach.

Co więcej, przeglądarki starsze niż IE8 i Opera 7.0 nie obsługują przechwytywania zdarzeń. Ponieważ głównym celem jQuery jest zapewnienie obsługi wielu przeglądarek, nie obsługuje ona przechwytywania zdarzeń.

Wygląda na to, że jQuery jest bardziej skoncentrowany na wykorzystaniu Delegacji Eventów, która opiera się na propagacji zdarzeń aż do drzewa DOM.

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

+1

Cały punkt jquery 2.0 polega na zrzucaniu wsparcia dla starszych przeglądarek, więc starsze przeglądarki nie obsługujące przechwytywania zdarzeń nie powinny być blokerem przynajmniej dla jQuery 2. – Jens

Powiązane problemy