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请求?
由于
答案 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");
}