2011-09-02 13 views
5

Chcę używać zdarzeń niestandardowych w mojej witrynie J-Query. Teraz nie jestem pewien, który z nich jest najlepszym sposobem wyzwolenia niestandardowego wydarzenia na wszystkich elementach dołączonych do tego wydarzenia.Jak wyzwalać zdarzenia we wszystkich elementach?

Przykładem może być bardziej Clarifying tutaj: Zasadniczo można używać

$('#id').trigger('customevent'); 

Nie chcę element wyzwalania musieli znać wszystkie elementy dołączone do zdarzenia. Mogłabym więc użyć tego, co mam nadzieję, żeby zrobić to, co mam nadzieję. Ale obawiam się, że w ten sposób występują problemy z wydajnością.

Innym sposobem, o którym myślałem było użycie klasy. Wszystkie elementy dołączone do wydarzenia mogą dodać tę klasę do siebie. Wtedy mogę użyć tej klasy jako selektora. Jednak wszystko to przypomina obejście.

Naprawdę mam nadzieję, że ktoś zna zwykły sposób rozwiązania mojego problemu.

+0

Wystarczy znaleźć odpowiedź sama: $ .event.trigger ('customevent'); Ale nie wolno mi odpowiedzieć na moje pytanie. Wątpliwe ograniczenie ... –

+0

Myślę, że musisz poczekać kilka godzin ... ale możesz dodać swoją odpowiedź. * Edycja: * W rzeczywistości jest to duplikat. –

+0

możliwy duplikat [wyzwalania zdarzeń jQuery na wszystkich słuchaczach] (http://stackoverflow.com/questions/6860146/jquery-event-triggering-on-all-listeners) –

Odpowiedz

7

Wystarczy znaleźć odpowiedź przez siebie (co jest teraz przestarzałe, patrz komentarz poniżej):

$.event.trigger('customevent'); 
+1

To jest nieudokumentowane i przestarzałe: https://github.com/jquery/jquery/blob/935eb19d87063ec30b717b3d45368d3c73cb591d/jquery-migrate.js#L481 –

+1

Nie jestem pewien, czy jest to właściwy powód, ponieważ funkcja stała się przestarzała trzy lata po jej zakończeniu doskonale ważny. –

+1

Dziękujemy za zredagowanie odpowiedzi. Wcześniej było to niepoprawne (niezależnie od tego, czy było ono poprawne, czy nie), a więc w dół. Usunąłem skargę. –

Powiązane problemy