Estoy acostumbrado a usar .click()
y delegate('click')
, así que cuando leí ambos quedaron obsoletos en las versiones recientes de jQuery, pensé que Lo leí, pero estoy rascándome la cabeza un poco.jQuery .on ('clic') vs. .click() y .delegate ('clic')
La documentación here parece sugerir que esta es una gota en el reemplazo para .live() y .delegate(), pero .click() y .bind() tenido un comportamiento diferente, a saber vinculantes a los objetos existentes en la actualidad, donde los otros ligados a los objetos que coinciden con el selector patrón a lo largo de la vida útil del DOM.
En la mayoría de los casos, esto no supondría una gran diferencia, pero al agregar dinámicamente elementos a su DOM, esta es una distinción importante. Los objetos nuevos que coincidan con el patrón anterior serían no tienen oyentes vinculados al evento click
usando .click()
, pero serían con .delegate()
.
Mi pregunta es, ¿cómo se usa el método .on()
para duplicar el comportamiento tanto del .delegate()
preexistente como del .bind()
? ¿O todo va en el futuro hacia el estilo .delegate()
?
Lea la [documentación] (http://api.jquery.com/click/) para 'click() '. ** No está en desuso. ** _ "... este método es ** acceso directo ** para ...' .on ("click", handler) 'a partir de jQuery 1.7." _ – Sparky
... ok, permítanme reformular: se reutiliza. Solía ser un atajo para '.bind()', y ahora no lo es. –
Ahora es un atajo para '.on()', que ha reemplazado a '.bind()' para enlazar eventos a elementos existentes. También se sustituye '.delegate()' para la delegación de eventos en elementos estáticos (sin documentos) y '.live()' para la delegación de eventos en todo el documento. –