【问题标题】:Disable parent droppable box while dragging from parent从父级拖动时禁用父级可放置框
【发布时间】:2012-07-26 00:24:31
【问题描述】:

http://jsfiddle.net/xSQBw/ 说明了我的问题。请注意,当您将一个盒子拖出其父级并将其带回父级时,父级将接受该元素。我需要在拖动孩子时禁用父母的可放置性。然后我需要在孩子被丢弃后重新启用可丢弃性。

我尝试使用 start: 和 stop: 方法来实现 droppable,但是,让正确的元素禁用/重新启用非常棘手、笨拙,而且无论如何都没有用。

这是我正在尝试使用可放置处理程序的示例:

$('<fieldset />',
{
    id: login,
    level: self.levelValue,
    class: 'member ' + employeeClass,
}).appendTo('#columnWrapDiv')
  .droppable(
    {
        hoverClass: 'hovered',
        drop: function(event,ui) { /* removed */});

还有我的可拖动:

 $('.class')
  .draggable(
  {
      containment: '#ttkanbanDiv',
      cursor: 'crosshairs',
      revert: true,
      opacity: 0.4,
      start: 
        function(ui)
        {
            var id = $($($(ui).attr('srcElement'))
                        .parents()
                        .find('.ui-droppable')[0]).attr('id');
            $('#' + id).removeClass('ui-droppable');
        },
      stop:
        function(ui)
        {
            $($($(ui).attr('srcElement'))
                .parents()
                .find('.ui-droppable')[0])
                .addClass('ui-droppable');
        },
      zindex: 'auto',
  });

【问题讨论】:

    标签: jquery jquery-ui jquery-ui-draggable jquery-ui-droppable


    【解决方案1】:

    修复:http://jsfiddle.net/xSQBw/1/

    使其工作的具体代码(感谢 irc.freenode.net #jquery 中的 Shoky):

    $('#unassignedDiv,.member').droppable({
        hoverClass: 'hovered',
        accept: function(draggable) {
            draggable = draggable[0];
            var droppable = this;
            return !$.contains(droppable, draggable);
        },
        drop: ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多