Я работаю над таблицей с 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
код в именованную функцию:
function my_droppable() {
// a lots of line with several function
}
И измените свою общую привязку:
$(".droppable").droppable(my_droppable);
Тогда вы можете сделать:
divCreate.droppable(my_droppable);
после добавления новых элементов динамически.
Попробуй использовать:
$(divCreate).appendTo($(Cell)).droppable();
Вот образец, который я создал.
$( "<div/>", {
"class": "test",
id:"myDiv",
text: "Drag me!",
width:"125",
height:"30",
'text-align':"center"
}).appendTo( "#droppable" );
$("#myDiv").css("text-align", "center");
$("#droppable" ).draggable();
divCreate.droppable({drop: dropFunction()});
{drop: dropFunction}