Jquery agregando detectores de eventos a elementos añadidos dinámicamente

Así que ahora mismo, entiendo que para adjuntar un oyente de evento a un elemento añadido dinámicamente, debe redefinir el oyente después de agregar el elemento. ¿Hay alguna forma de eludir esto, por lo que no tiene que ejecutar un bloque adicional de código?

Usando .on() puede definir su función una vez, y se ejecutará para cualquier elemento agregado dinámicamente.

por ejemplo

 $('#staticDiv').on('click', 'yourSelector', function() { //do something }); 
 $(document).on('click', 'selector', handler); 

Donde click es un nombre de evento, y handler es un manejador de eventos, como referencia a una función o función de function() {} anónima function() {}

PD: si conoce el nodo particular al que está agregando elementos dynamics, puede especificarlo en lugar de document .

Está generando dinámicamente esos elementos, de modo que ningún oyente aplicado en la carga de página no estará disponible. He editado tu violín con la solución correcta. Básicamente jQuery mantiene el evento para un enlace posterior adjuntándolo al Elemento padre y propagándolo hacia abajo al elemento creado dinámicamente correcto.

 $('#musics').on('change', '#want',function(e) { $(this).closest('.from-group').val(($('#want').is(':checked')) ? "yes" : "no"); var ans=$(this).val(); console.log(($('#want').is(':checked'))); }); 

http://jsfiddle.net/swoogie/1rkhn7ek/39/

Al agregar un elemento nuevo con las llamadas al complemento jquery, puede hacer lo siguiente:

 $('
...
').hoverCard(function(){...}).appendTo(...)