I am trying to sort out a problem I am having with JQuery. When I dynamically create elements in the DOM, the associated events don't seem to trigger (e.g.: .hover). Not sure if, when creating elements dynamically, do I have to attach the element events somehow?
HTML Code:
    <div id="dosages" style="display:none;">
        <h4>Choose a dosage</h4>
        <ul id="dosagesUL" class="thumbnails">
        </ul>
    </div>
Jquery/Javascript:
    $("#medsSelect").change(function () {
    var dosages = [];
    var dosage;
    var caption;
    var image;
    var html;
    var idx;
    $("#medsSelect option:selected").each(function () {
        idx = $(this).attr("value");
        for (i = 0; i < medsArray[idx][1].length; i++) {
            dosage = medsArray[idx][1][i];
            caption = medsArray[idx][2][i];
            image = medsArray[idx][3][i];
            html =  "<li class=\"span2\">";
            html += "<div id=\"dosageIdx-\" + idx>";
            html += "<div class=\"thumbnail\">";
            html += "<img src=\"img/meds/" + image + ".png\">"
            html += "</div>";
            html += "<div class=\"thumbnail-capbox\">";
            html += "<div class=\"med-label\">" + dosage + "</div>";
            html += "<div class=\"med-caption\">" + caption + "</div>";
            html += "</div>";
            html += "</div>";
            html += "</li>";
            dosages.push(html);
        }
    });
    $("#dosages").fadeOut(0);
    $("#dosagesUL").empty();
    $("#dosagesUL").append(dosages.join(''));
    $("#dosages").fadeIn(600);
    })
    $('div[id*="dosageIdx-"]').hover(
        function () {
            alert('in');
        },
        function () {
            alert('out');
        }
    );
 
     
     
    