【问题标题】:Why I can disable, but can't enable a droppable function?为什么我可以禁用但不能启用可丢弃功能?
【发布时间】:2012-10-20 08:38:59
【问题描述】:

我只需要一个放置区域中的 1 个方块,并在需要时切换。为什么我可以禁用但不能启用可丢弃功能?

这是我的代码:

$('.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,请参阅下面的帖子,希望它符合您的需求! :)
  • 感谢您的帮助,但我需要您再试一次,拜托 :)

标签: jquery jquery-ui draggable droppable


【解决方案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 很高兴它帮助了你:))!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-05
  • 2022-08-09
  • 2018-12-20
  • 2018-05-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多