jQuery Droppable没有更新

时间:2014-12-14 23:52:41

标签: jquery ajax

G'天Stackoverflow

对于我正在处理的网站,一旦返回AJAX请求并找到有效数据,就必须使用拖放功能。如果是这种情况:

            var allowDrop = ($json[0][0]);
            if(allowDrop === "true") {
                $editorCont.addClass("allow-drop");
            }
            else {
                $editorCont.removeClass("allow-drop");
            }

......完美无缺。

然而,

var $editorDropCont = $("body > div#page > div#editor.allow-drop");


        $editorDropCont.droppable({
            accept: "a.drag-button.clone-drop",
            drop: function(event,ui) {
                $clone = $(ui.helper).clone();
                $editorDropCont.append($clone);

只有

不再包含该类了。

在AJAX请求之后也会调用droppable事件,希望它可以更新可放置状态,但它似乎不起作用。

有没有办法让div 一旦调用AJAX请求?

由于

1 个答案:

答案 0 :(得分:0)

这是因为$editorDropCont是您使用$("body > div#page > div#editor.allow-drop")选择的一组元素(或一个元素)。当您向这组元素添加或删除类时,它们仍然是可删除的。每次发出AJAX请求时都必须重新初始化droppable。

$editorDropCont.droppable("destroy").droppable({...});

OR:

var allowDrop = ($json[0][0]);

if (allowDrop === "true") {
    $editorDropCont.droppable("destroy").droppable({...});
} else {
    $editorDropCont.droppable("destroy");
}