Сделать динамически сгенерированный div Droppable

0

Я работаю над таблицей с div внутри ячейки, и я хочу, чтобы div был недоступен. И когда я бросаю что-то в div, он генерирует новый div под первым. Но динамически сгенерированный div должен быть недоступен, и теперь он не...

Вот создание div:

// in a loop with i
divCreate = $("<div>", { id: "divCreate" + i, class: "droppable" });
$(divCreate).css("text-align", "center");
$(divCreate).css("width", "125px");
$(divCreate).css("height", "30px");

$(Cell).append($(divCreate));    

JS droppable:

$(".droppable").droppable( function() {
  // a lots of line with several function
})

Поэтому я пытаюсь добавить, что $(divCreate).droppable(); к созданию div. Теперь div недоступен, но не с функцией JS, которую я затрагиваю в классе ".droppable".

Мне нужно сделать $(divCreate).live("droppable"); ? Или это невозможно, и мне нужно поместить весь код из JS-функции в создание div? Я действительно хочу избежать этого, если это возможно.

Теги:
droppable

3 ответа

2
Лучший ответ

Переместите droppable код в именованную функцию:

function my_droppable() {
    // a lots of line with several function
}

И измените свою общую привязку:

$(".droppable").droppable(my_droppable);

Тогда вы можете сделать:

divCreate.droppable(my_droppable);

после добавления новых элементов динамически.

  • 0
    Я думаю, что это может работать так, но как я могу сделать событие сброса с функцией? divCreate.droppable({drop: dropFunction()});
  • 0
    Это должно быть {drop: dropFunction}
Показать ещё 1 комментарий
1

Попробуй использовать:

$(divCreate).appendTo($(Cell)).droppable();
0

Вот образец, который я создал.

$( "<div/>", {
  "class": "test",
    id:"myDiv",
  text: "Drag me!",
    width:"125",
    height:"30",
    'text-align':"center"
}).appendTo( "#droppable" );

$("#myDiv").css("text-align", "center");

$("#droppable" ).draggable();

Ещё вопросы

Сообщество Overcoder
Наверх
Меню