Considere el siguiente código
<ul id="myTask">
<li>Coding</li>
<li>Answering</li>
<li>Getting Paid</li>
</ul>
Ahora aqui va la diferencia
$('#myTask').children().click(function () {
$(this).remove()
});
Ahora, ¿qué pasa si agregamos una myTask nuevamente?
$(
Hacer clic en este elemento de myTask no lo eliminará de la lista, ya que no tiene ningún controlador de eventos vinculado. Si en cambio lo hubiéramos usado .on
, el nuevo artículo funcionaría sin ningún esfuerzo adicional de nuestra parte. Así es como se vería la versión .on:
$('#myTask').on('click', 'li', function (event) {
$(event.target).remove()
});
Resumen:
La diferencia entre .on()
y .click()
sería que .click()
puede que no funcione cuando los elementos DOM asociados con el .click()
evento se agregan dinámicamente en un punto posterior, mientras que .on()
se pueden usar en situaciones en las que los elementos DOM asociados con la .on()
llamada pueden generarse dinámicamente en un momento posterior.