Класс JQUERY css не работает при динамическом добавлении div

#jquery

#jquery

Вопрос:

Использование плагинов jQuery-1.6.2 и перетаскивания

ниже приведен код в webform1.aspx

 $(document).ready(function() {
    $( ".draggable" ).draggable({ revert: "invalid" , helper: "clone" });

    $( ".droppable" ).droppable({
        activeClass: "ui-state-hover",
        hoverClass: "ui-state-active",
        drop: function( event, ui ) {
            addFields( ui.draggable );
        }
    });

});
  

при отбрасывании я вызываю функцию addfields, которая выглядит следующим образом

 function addFields($items)
{
    var content=$(".droppable")
    ans_type=$items.attr("id")
    i= parseInt(document.getElementById('txtQCnt').value);
    document.getElementById('txtQCnt').value=i 1;
    $.ajax
    (
        {
            url:'handler.ashx?ans_type=' ans_type 'amp;cnt=' document.getElementById('txtQCnt').value,
            dataType:'html',
            success: function(data)
            {
                var i;
                content.append(data);
            }
        }
   )
}
  

handler.ashx добавляет элемент на страницу

 context.Response.Write("<div id='" objId "' class='droppable'></div>");
  

при динамическом добавлении div из handler.ashx при перетаскивании объекта должен выделяться класс css droppable div, который не работает

Комментарии:

1. вам не хватает точек с запятой, var content=$(".droppable") и ans_type=$items.attr("id")

2. Вы, вероятно, ищете $.live() или $.delegate() .

Ответ №1:

Либо вам нужно привязать droppable внутри метода success —

 $('.droppable').droppable(options);
  

где вы можете сделать параметры константами и определить только один раз.

В противном случае вы можете привязать live к элементу при наведении курсора мыши или наведении курсора мыши, к которому можно прикрепить удаляемый элемент.

 $('.droppable').live('mouseenter',function() {
    $(this).droppable(options);
});