Cuando miro el código de jquery-ujs de Rails 3, veo que se une a eventos de JavaScript personalizados (submit.rails, click.rails, etc.). ¿Alguien sabe dónde se definen estos eventos '.rails' personalizados? Solo estoy tratando de entender mejor cómo funciona el material de UJS en Rails 3 para poder usarlo más efectivamente ...¿Dónde se definen los eventos de JavaScript personalizados de Rails 3?
Respuesta
Estos son namespaced events. No hay una definición para ellos; click.rails
es lo mismo que click
, pero dado que está en el espacio de nombres rails
, puede desenlazar o desencadenar los controladores de eventos específicos de Rails sin invocar todos los eventos click
en un elemento.
Por ejemplo, suponga que tiene algún elemento, <div class='foo' data-remote='true'>
, y se une rails.js
$("*[data-remote='true']").bind("click.rails", function() { ... })
En su código, también tiene:
$(".foo").click(function() { ... });
Ahora, Rieles lo desea, puede invocar ese controlador remoto en algún momento, pero si llamara $(this).click()
, invocaría todos los manejadores de clics en el elemento, incluido el personalizado, lo que podría producir un comportamiento no deseado. En su lugar, puede llamar al $(this).trigger('click.rails')
, y solo se ejecutará el manejador de clics que definió.
Perfecto ... señalando que son eventos de espacio de nombres ayuda a aclarar las cosas de manera significativa. Gracias Chris! – Bryan
Ok, pero espera ... ¿dónde se desencadenan los eventos '* .rails'? No los veo en jquery-ujs ... – Bryan
Se desencadenan por los eventos normales, así como por los eventos .rails. Solo cuando desea hacer algo especial con solo los manejadores de .rails (como destrabar solo los manejadores de rieles o desencadenarlos sin activar a los manejadores habituales), el espacio de nombres entra en juego. Ver http://docs.jquery.com/Namespaced_Events –
- 1. ¿Dónde deben almacenarse los validadores personalizados de Rails 3?
- 2. ¿Dónde está asset_host Rails 3?
- 3. ¿Dónde se definen los alias predeterminados en PowerShell?
- 4. Dónde configurar Rails 3 cache_store?
- 5. Biblioteca de eventos personalizados para JavaScript. ¿Hay alguno? Recomendaciones?
- 6. ¿Cómo se definen los propios ayudantes de enrutamiento en los rieles 3?
- 7. ¿Cuánto duran los eventos personalizados que se muestran?
- 8. C# controladores de eventos personalizados
- 9. ¿A dónde desapareció link_to_function en Rails 3?
- 10. JavaScript Creación de eventos con datos adjuntos personalizados
- 11. ¿Dónde registrarse para los eventos de C#?
- 12. javascript internals: cómo se implementan los eventos?
- 13. Rails 3: ¿Formularios personalizados creados por el usuario?
- 14. ¿Dónde se definen los servicios web de Exchange: identificación de ExtendedPropertyDefinition?
- 15. Rails 3 responda a json, con atributos/métodos personalizados
- 16. ¿Se pueden realizar eventos personalizados con UIControlEventApplicationReserved?
- 17. dónde poner reglas de formato de tiempo en Rails 3?
- 18. ¿Dónde encontrar una lista de todos los eventos jQuery?
- 19. Eventos personalizados en Magento
- 20. ¿Dónde se definen las palabras clave en Ruby?
- 21. Pregunta sobre eventos personalizados
- 22. WKT: ¿cómo se definen polígonos con 3 anillos (== 2 agujeros)?
- 23. javascript: Cómo depurar eventos de teclado
- 24. ¿Dónde puedo obtener la versión completa de los rieles 3?
- 25. ¿Cómo crear eventos personalizados?
- 26. Despacho de eventos personalizados con Dojo framework
- 27. Rails 3 tipos de datos?
- 28. ¿Los controladores de eventos en JavaScript se llaman en orden?
- 29. ¿Cómo se definen los delimitadores de palabras de Aspell?
- 30. Burbujeo/captura de eventos: ¿dónde comienza/finaliza?
Bryan, detén de firmar tus mensajes, es una violación de las políticas de stackoverflow. ¡Gracias! – sethvargo
¡Ups, lo siento! Hará (o no hará más :). Gracias por decirme. – Bryan