【发布时间】: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