【问题标题】:Unbinding Masonry解绑砌体
【发布时间】:2013-05-09 12:42:18
【问题描述】:

场景:

我目前正在使用 KnockoutJS、jQuery UI 的 sortable 和 Masonry。我使用 Knockout 显示卡片列表,使用 Masonry 正确排列卡片,并使用 sortable 对卡片进行排序。

这些卡片的大小相似,但我稍后会介绍不同的大小,所以我肯定需要 Masonry 来帮我安排它们。

我正在为可排序对象使用自定义的 bindingHandler 函数,这样当用户对卡片进行排序时,项目的位置会在剔除 observableArray 中更新。

问题:

由于淘汰赛可排序功能将项目从最后一个位置移除并将其放回新位置,因此 Masonry 搞砸了,并且不知何故可排序也无法正常运行。我发现,如果我只是在不使用 Masonry 的情况下将所有卡片漂浮在左侧,可排序就可以正常工作。

我计划在 sortable 开始时撤消 Masonry,并在 sortable 结束时将其放回。但是我不知道如何解除 Masonry 的绑定。有办法吗?或者至少是一种让它工作的方法。

这是我正在尝试做的一个原型: http://jsbin.com/avujom/9/edit

【问题讨论】:

    标签: jquery-ui knockout.js jquery-ui-sortable jquery-masonry


    【解决方案1】:

    您可以使用砖石的destroy 移除砖石。所以它完全删除了砌体功能。这将使元素返回到其预初始化状态。您可以在msnry = new Masonry( container ); 需要时创建砌体元素。你也可以使用layout 方法。

    【讨论】:

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