【问题标题】:Sortable and droppable deactivate in jQuery UIjQuery UI 中的可排序和可放置停用
【发布时间】:2011-11-30 04:33:22
【问题描述】:

我已将可排序和可放置的 jQuery UI 附加到我页面上的几个不同页面。

我想让元素被删除,而不是在用户拖过另一个活动列后最终出现在最接近“可放置”列的列中。

http://jsfiddle.net/jordanbaucke/W3yyk/4/

我尝试禁用最近的“可排序”列并在“可放置”处于活动状态时重新激活,但这不起作用。我该如何解决?

【问题讨论】:

  • 您是想让 'dropped' 元素从可排序列中消失还是留在原始列中?
  • @dSquared 留在原始列中

标签: jquery jquery-ui jquery-ui-sortable droppable jquery-ui-droppable


【解决方案1】:

您需要在 $.droppable 'drop' 事件上添加使用 $.sortable('cancel') 方法来像这样:

$('#droppablecolumn').droppable({
    over: function(en, ui) {
        $(this).css('background-color', 'grey');
    },

    out: function(en, ui) {
        $(this).css('background-color', 'white');
    },

    drop: function(){
        $('.column').sortable('cancel');    
    }    
});

一旦发生丢弃,这应该取消当前的 $.sortable 事件。

【讨论】:

  • 正确,源列似乎不再可排序?我尝试重新激活$('.column').sortable(),但它没有重新附加到该元素? 所有其他列都保持活动状态??如此接近...
  • 想通了 ...当您不使用“revert”时,此策略效果更好
  • 你是怎么解决的?在 drop 事件上调用 .sortable('cancel') 后我遇到了同样的问题,源列松散排序表
猜你喜欢
  • 2012-06-23
  • 1970-01-01
  • 2013-03-20
  • 1970-01-01
  • 1970-01-01
  • 2013-07-20
  • 2011-01-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多