我在可拖放的列表中有一些可拖放的(每个可拖放的li有1个可拖放的)。
当我将一个可拖放对象从一个可拖放对象移动到另一个可自由拖放对象时,我希望删除接收可拖放对象,并启用它所离开的可拖放对象。
在firebug中,droppable类被移除了--但是droppable的功能仍然存在。我感觉我需要以某种方式使用live(),但可以使用一个辅助工具。
$(function() {
$(".user").draggable({
revert : true,
revertDuration : 200
});
$("li.droppable").droppable({
accept : ".user",
hoverClass : "drophover",
drop: function(event, ui) {
var position = this.getAttribute("id").replace("position_", ""),
user_id = ui.draggable.attr("id").replace("user_", "");
droppable = this
parent = ui.draggable.parent()
$.ajax({
url : "users/"+user_id+"",
type : "POST",
dataType: "JSON",
data : ({
"position" : position,
"_method" : "PUT"
}),
success : function() {
$(ui.draggable).parent().addClass("droppable");
$(ui.draggable).appendTo(droppable);
$(parent).removeClass("droppable");
}
});
}
});
});发布于 2010-05-24 22:55:43
您可以通过设置“disabled”选项来启用/禁用droppables,而不是删除droppable类。
success : function() {
$(ui.draggable).parent().droppable( "option", "disabled", false );
$(ui.draggable).appendTo(droppable);
$(parent).droppable( "option", "disabled", true );
}http://docs.jquery.com/UI/Droppable#option-disabled
发布于 2010-05-24 22:57:53
与其更改类,不如尝试设置选项?$(ui.draggable).parent().droppable();
和
$(ui.draggable).parent().droppable('option', 'disabled', true);
https://stackoverflow.com/questions/2897799
复制相似问题