No entiendo por qué existe este método ....jQuery 1.7 .on() método, ¿por qué es necesario?
Me parece que le hace siempre a $(el).click()
en lugar de $(el).on('click', function...
No entiendo por qué existe este método ....jQuery 1.7 .on() método, ¿por qué es necesario?
Me parece que le hace siempre a $(el).click()
en lugar de $(el).on('click', function...
$(el).on
ofrece a los desarrolladores una forma unificada de vincular eventos para cualquier tipo de evento directo o delegado. También le permite enlazar más de un evento al mismo tiempo pasando un objeto (segundo ejemplo en el documentation)
También guarda algunas teclas, por lo que vale.
Con .on()
puede enlazar más de una tipo de evento al mismo tiempo, por lo que no tiene que duplicar el código o crear una función separada si desea hacer lo mismo en varios eventos.
Me parece que se está organizando para combinar/reemplazar las otras funciones de enlace de eventos ... ¡Una función para vincularlos a todos! (LOTR geekery ftw)
suena una campana ... – roselan
Es mi entendimiento de que la nueva .on()
es una combinación de funcionalidad tanto duplicado en .bind()
, .delegate()
y .live()
. Es tanto una fusión de la API como una combinación de las implementaciones en una implementación más unificada.
$(el).click(...)
es la abreviatura de $(el).bind('click', ...)
. Si compara el documentation for bind()
con el documentation for on()
, verá una serie de diferencias.
Esto es bastante bien resumido por el primer párrafo de las bind()
docs:
Como de jQuery 1.7, el método .on() es el método preferido para unir controladores de eventos a un documento. Para versiones anteriores, el método .bind() se usa para conectar un controlador de eventos directamente a los elementos . Los manejadores se adjuntan a los elementos actualmente seleccionados en el objeto jQuery, por lo que esos elementos deben existir en el punto donde se produce la llamada a .bind(). Para una vinculación de eventos más flexible, consulte la discusión de la delegación de eventos en .on() o .delegate().
También puede vincular una función a más de un tipo de evento con las otras funciones. Esta es una unificación del manejo de eventos, y también le permite asignar más de una función a más de un evento a través de la asignación. – JAAulde
Claro, pero no con '.click()' que fue mencionado específicamente! – JJJ
Ah, eso es cierto – JAAulde