inseguro sobre el método .on ()

Estaba usando el$.click() Método para desencadenar algunos eventos. Pero luego tuve que configurar algunos eventos para algunos elementos HTML antes de que se declararan los elementos. Tomemos esto como un ejemplo:

<script>
    $('div.hide').click(function() {
        $('div.hide').css({'display' : 'none'});
     });
</script>
<div class="hide">some text</div>

El inconveniente es que al configurar el.click() método, eldiv.hide Los elementos no existen, por lo que no se establece ningún disparador.

Así que me dirigí a la.on() método, como tal:

<script>
    $('div.hide').on('click', function() {
        $('div.hide').css({'display' : 'none'});
    });
</script>
<div class="hide">some text</div>

Pero esto tampoco funciona. Pensé llamando.on() Haría todo lo existente y futuro.div.hide los elementos activan el'click' function().

Me las arreglé para superar este inconveniente, pero por mi propio conocimiento me gustaría saber qué estaba haciendo mal. ¿No hay manera de asignar un disparador a los elementos HTML futuros?

Mi solituion fue:

<script>
    $(document).ready( function() {
        $('div.hide').click(function() {
            $('div.hide').css({'display' : 'none'});
        });
    });
</script>
<div class="hide">some text</div>

Respuestas a la pregunta(2)

Su respuesta a la pregunta