Przeglądając kod jquery-ujs Rails 3, zauważam, że wiąże on niestandardowe zdarzenia JavaScript (submit.rails, click.rails, itp.). Czy ktokolwiek wie, gdzie są zdefiniowane niestandardowe zdarzenia ".rails"? Po prostu staram się lepiej zrozumieć, jak działają UJS w Rails 3, dzięki czemu mogę efektywniej z nich korzystać ...Gdzie są zdefiniowane niestandardowe zdarzenia JavaScript Rails 3?
Odpowiedz
To są namespaced events. Nie ma dla nich definicji; Numer click.rails
jest taki sam jak click
, ale ponieważ jest podany w nazwach za pomocą rails
, można odwiązać lub wywołać procedury obsługi zdarzeń specyficzne dla Railsów bez wywoływania wszystkich zdarzeń click
elementu.
Na przykład załóżmy, że masz jakiś element, <div class='foo' data-remote='true'>
i rails.js wiąże
$("*[data-remote='true']").bind("click.rails", function() { ... })
W kodzie, masz również:
$(".foo").click(function() { ... });
Teraz Szyny mogą chcieć wywołać ten zdalny program obsługi w pewnym momencie, ale jeśli tylko zadzwonił pod numer $(this).click()
, wówczas wywołałby wszystkie procedury obsługi kliknięć elementu, w tym niestandardowe, które mogą powodować niepożądane zachowanie. Zamiast tego może wywołać $(this).trigger('click.rails')
i zostanie uruchomiony tylko zdefiniowany przez niego moduł obsługi kliknięć.
Idealne ... wskazanie, że są zdarzeniami o przestrzeni nazw, znacznie ułatwia rozjaśnianie. Dzięki Chris! – Bryan
OK, ale czekaj ... więc gdzie są wywoływane zdarzenia "* .rails"? Nie widzę ich w jquery-ujs ... – Bryan
Są one wyzwalane przez zwykłe zdarzenia, jak również wszelkie zdarzenia .rails. Dopiero gdy chcesz zrobić coś specjalnego za pomocą tylko uchwytów .rails (takich jak rozłączanie tylko procedur obsługi szyn lub wyzwalanie ich bez uruchamiania standardowych programów obsługi), uruchamiasz przestrzeń nazw. Zobacz http://docs.jquery.com/Namespaced_Events –
- 1. Szyny: Gdzie zdefiniowane są "parametry"?
- 2. gdzie są zdefiniowane klasy int [] i string []?
- 3. Gdzie jest asset_host rails 3?
- 4. javascript - Uncaught ReferenceError: klucze nie są zdefiniowane
- 5. gdzie umieścić Klasy zdefiniowane przez użytkownika w Rails
- 6. Gdzie przechowywane są zmienne javascript
- 7. Gdzie jest zdefiniowane "Brzytwa Huttona"?
- 8. Niestandardowe zdarzenia kręgosłupa
- 9. Zdarzenia niestandardowe UIView
- 10. Gdzie są zdefiniowane sekwencje Escape xterm, jak "Esc | 112 m"?
- 11. Czy dobrze jest tworzyć i wysyłać niestandardowe zdarzenia JavaScript?
- 12. Rails 3 Token autentyczności
- 13. Rails 3 Niestandardowe trasy, które trwa kilka identyfikatorów jako parametr
- 14. Zdarzenia niestandardowe bańki w dół
- 15. Gdzie rake Klasy zadań na żywo? (Rails 3)
- 16. Zdarzenia wielokrotnego zdarzenia javascript wielokrotnego zdarzenia raz
- 17. Przechwytuj wszystkie zdarzenia (javascript)
- 18. gdzie są zainstalowane niestandardowe rozszerzenia w Visual Studio?
- 19. Rozwiązania autoryzacji Rails 3
- 20. Jak niestandardowe zdarzenia jQuery działają dokładnie
- 21. Gdzie przechowywane są zmienne instancji w module pomocniczym Rails?
- 22. Monkey Patching in Rails 3
- 23. Gdzie jest zdefiniowane ptrdiff_t w C?
- 24. Gdzie jest $ {body_statement} zdefiniowane w Eclipse
- 25. Rails 3 Coffee Handler Brakujący
- 26. Wybierz ostatnich 3 rekordy gdzie wartości jednej kolumny są odrębne
- 27. Rails 3: Trasy poddomen
- 28. Releasedate for Rails 3
- 29. Rails 3 Rekomendacja CMS
- 30. Rails 3 has_many changed?
Bryan, proszę przestań podpisywać wiadomości - jest to naruszenie zasad dotyczących stackoverflow. dzięki! – sethvargo
Ups, przepraszam! Zrobi (lub nie zrobi więcej :). Dzięki, że mi powiedziałeś. – Bryan