为啥我可以禁用但不能启用可丢弃功能?
Posted
技术标签:
【中文标题】为啥我可以禁用但不能启用可丢弃功能?【英文标题】:Why I can disable, but can't enable a droppable function?为什么我可以禁用但不能启用可丢弃功能? 【发布时间】:2012-10-20 08:38:59 【问题描述】:我只需要一个放置区域中的 1 个方块,并在需要时切换。为什么我可以禁用但不能启用可丢弃功能?
$(this).droppable("option", "disabled", false);
- 不起作用
$(this).droppable("enable");
- 不起作用
Enable a droppable after it has being disable - 不起作用
这是我的代码:
$('.my_block').draggable(
revert: "invalid",
);
$('.free').droppable(
accept: ".my_block",
drop: function(ev, ui)
$(this).removeClass("free");
$(this).addClass("1");
ui.draggable.appendTo($(this)).removeAttr('style');
$(this).droppable("disable");
,
out: function(ev, ui)
$(this).droppable("enable");
$(this).removeClass("1");
$(this).addClass("free");
,
);
jsfiddle http://jsfiddle.net/4ABCN/2/
我怎样才能通过一键将所有红色块返回到主要位置?
【问题讨论】:
那么你的目标是什么?我也许可以帮助你!:)
我需要禁用 droppable,当其中有一个可拖动(红色)元素时,如果该元素离开(那里没有元素,将红色块移动到另一个黑色块),我需要再次启用它。现在我不能在第一个可放置位置支持我的红色块,因为禁用:(
Saweet,请参阅下面的帖子,希望它符合您的需求! :)
感谢您的帮助,但我需要您再试一次,拜托 :)
【参考方案1】:
工作演示 已删除旧演示
新演示试试这个:http://jsfiddle.net/7EbKS/
行为:现在当用户移动红框时,您可以将另一个红框放在空位置,
希望它符合原因:)
代码
$(function()
foo();
$('.my_block').draggable(
revert: "invalid",
stop: function()
$(this).draggable('option', 'revert', 'invalid');
);
function foo()
$('.block').droppable(
greedy: true,
accept: ".my_block",
// tolerance: "fit",
drop: function(ev, ui)
ui.draggable.appendTo($(this)).removeAttr('style');
);
$('.my_block').droppable(
greedy: true,
tolerance: 'touch',
drop: function(event, ui)
ui.draggable.draggable('option', 'revert', true);
);
);
【讨论】:
谢谢,但是“我在一个放置区域中只需要 1 个块”,在您的代码中可以不止一个.. 我认为那是因为 $('.1').droppable("enable ");类的问题,在 OUT 动作类上没有改变:( @EugenBorunoff 很高兴它帮助了你:))!以上是关于为啥我可以禁用但不能启用可丢弃功能?的主要内容,如果未能解决你的问题,请参考以下文章