Mentre guardo il codice jquery-ujs di Rails 3, noto che si lega agli eventi JavaScript personalizzati (submit.rails, click.rails, ecc.). Qualcuno sa dove sono definiti questi eventi personalizzati '.rails'? Sto solo cercando di capire meglio come funziona la roba UJS in Rails 3 così posso usarla in modo più efficace ...Dove sono definiti gli eventi JavaScript personalizzati di Rails 3?
risposta
Questi sono namespaced events. Non c'è una definizione per loro; click.rails
è lo stesso di click
, ma poiché è dotato di un nome con rails
, è possibile separare o attivare i gestori di eventi specifici di Rails senza richiamare tutti gli eventi click
in un elemento.
Ad esempio, si supponga di avere qualche elemento, <div class='foo' data-remote='true'>
, e rails.js lega
$("*[data-remote='true']").bind("click.rails", function() { ... })
Nel codice, si hanno anche:
$(".foo").click(function() { ... });
Ora, Rails può decidere di invocare quel gestore remoto a un certo punto, ma se ha appena chiamato $(this).click()
, quindi invoca tutti i gestori di clic sull'elemento, incluso quello personalizzato, che potrebbe produrre un comportamento indesiderato. Invece, può chiamare $(this).trigger('click.rails')
e solo il gestore di clic definito verrà eseguito.
Perfetto ... sottolineando che si tratta di eventi con nomi assegnati, aiuta a chiarire in modo significativo le cose. Grazie Chris! – Bryan
Ok, ma aspetta ... quindi dove sono attivati gli eventi '* .rails'? Non li vedo in jquery-ujs ... – Bryan
Sono attivati dagli eventi regolari e da tutti gli eventi .rails. È solo quando vuoi fare qualcosa di speciale con solo i gestori di .rails (come liberare solo i gestori di binari o attivarli senza far scattare i normali gestori) che entra in gioco il namespace. Vedi http://docs.jquery.com/Namespaced_Events –
- 1. Rails: dove sono definiti i "parametri"?
- 2. Dove sono le rails 3 di asset_host?
- 3. Listener di eventi personalizzati JavaScript
- 4. Come elencare tutti gli ambienti definiti in un'applicazione Rails 3?
- 5. Dove sono definiti gli alias predefiniti in PowerShell?
- 6. Winforms controlla gli eventi personalizzati
- 7. Cattura tutti gli eventi (javascript)
- 8. concatenate personalizzati definiti vettore
- 9. Dove configurare Rails 3 cache_store?
- 10. Dove vengono memorizzati gli eventi di WordPress?
- 11. Come osservare gli eventi personalizzati in AngularJS?
- 12. Attivatore di eventi personalizzati con nomi personalizzati
- 13. Rails 3: dov'è il posto migliore dove posizionare le classi di validatori personalizzati?
- 14. Gli attributi personalizzati per Enum sono pericolosi?
- 15. WPFToolkit.Extended - dove sono gli strumenti?
- 16. Quanto sono costosi gli eventi MySQL?
- 17. Dove sono definiti i simboli etext, edata e fine?
- 18. Rails 3 convalida presenza di molte colonne con messaggi personalizzati
- 19. Gli attributi personalizzati sono OK in XHTML
- 20. Creazione di eventi JavaScript con dati personalizzati allegata
- 21. Come trovo gli eventi javascript misteriosamente associati
- 22. Domanda sugli eventi personalizzati
- 23. Zend: dove/come posso registrare gli helper di visualizzazione personalizzati?
- 24. Eventi personalizzati Backbone
- 25. Dove dovrebbero andare le librerie in Rails 3?
- 26. Listener di eventi personalizzati Android
- 27. C# gestori di eventi personalizzati
- 28. Dove devono essere definiti Meteor.methods()?
- 29. Eventi personalizzati per UIView
- 30. Quali sono gli eventi supportati da Ember.js?
Bryan, si prega di smettere di firmare i messaggi - è una violazione delle politiche di stackoverflow. Grazie! – sethvargo
Whoops, mi dispiace! Farà (o non fare più :). Grazie per avermelo detto. – Bryan