【问题标题】:'Original Position' jQuery UI REVERT'原始位置' jQuery UI REVERT
【发布时间】:2013-11-12 19:46:02
【问题描述】:

我正在使用 jQuery UI 可排序库,您可以在此处查看示例:

Sortable lists jQuery UI

我正在使用“revert”功能,如果没有放置在可放置区域中,它应该会还原我的元素的位置;问题是,由于某种原因,如果我拖动并越过可放置区域并移出,然后我释放元素并且它会恢复到我所做的最后一个可放置区域。我希望它恢复到原来的位置...希望我自己解释清楚。

谢谢!

http://jsfiddle.net/3xW8g/

enter code here

【问题讨论】:

  • 你能发一个小提琴来重现你的问题吗?
  • 请在 jsfiddle.net 上发布您的代码和/或演示
  • jsfiddle.net/3xW8g 这是小提琴。如果您将“Item1”向下拖动并越过“Item99”,然后在两个列表中的任何一个之外的空白处释放“Item1”;它应该回到原来的地方。相反,它会回到你“过度”的最后一个列表。

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


【解决方案1】:

这是您的小提琴的更新版本:fiddle

我为您的 sortables 添加了一个停止处理程序:

  stop: function (event, ui) {

        var placePos = ui.placeholder.position();
        var placeWidth = ui.placeholder.outerWidth();
        var total = placePos.left + placeWidth;
        if (ui.position.left > total) $("#sortable1").sortable("cancel");
    }

我希望这就是你要找的。​​p>

编辑:这是使用 beforeStop 处理程序的另一个版本,因为我看到停止可能存在问题。 newFiddle

【讨论】:

  • 谢谢,鲍比!你刚才给我的想法将帮助我解决问题。实际上,我有两个以上的可排序列表,因此代码需要多几行,但很棒!非常感谢!!
  • 如果您认为这是正确的,您可以接受它作为正确答案。很高兴为您提供帮助。
猜你喜欢
  • 2013-02-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-29
  • 1970-01-01
  • 1970-01-01
  • 2011-04-20
  • 1970-01-01
相关资源
最近更新 更多