创建一个动态生成的div droppable

时间:2014-04-24 10:11:46

标签: javascript jquery jquery-ui html droppable

我正在使用单元格内的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是可以删除的,但不是我对类“。droppable”影响的JS函数。

我需要制作$(divCreate).live("droppable");吗?或者它是不可能的,我需要将JS函数的所有代码都放到div创建中?如果可能的话,我真的想避免这种情况。

3 个答案:

答案 0 :(得分:2)

droppable代码移动到命名函数中:

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

并将您的常规绑定更改为:

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

然后你可以这样做:

divCreate.droppable(my_droppable);

动态追加新元素后。

答案 1 :(得分:1)

尝试使用:

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

答案 2 :(得分:0)

Here is the sample我创建了。

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

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

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