【发布时间】:2012-04-11 17:29:52
【问题描述】:
我需要检测可排序的顺序何时发生变化。无论排序项来自何处,我都需要它来触发更改事件。
但是,ui.sortable 中可能存在缺陷,当从一个已连接的 sortable 拖动到另一个时,该缺陷不会触发该事件。
考虑:
- 用户将一个项目从 Sortable#A 拖到 Sortable#B,但还没有放下它。 在 Sortable#A 上触发更改事件。
- 然后用户在 Sortable#A 中拖动项目以更改排序顺序。 什么都不会触发 示例:http://screencast.com/t/rW4xj485OEc
相反,当用户从同一个 Sortable#A 中开始排序时,Change Event 会在 Sortable#A 上每次触发一次。 http://screencast.com/t/uirpg1E5nA
首先,这似乎是 ui.sortable 中的一个缺陷。其次,有没有人建议我如何得到我的蛋糕并吃掉它?如果需要,我很乐意分叉 ui.sortable。
【问题讨论】:
-
我猜连接列表上不会发生更改,因为只要您没有移动它,该项目仍然被认为是第一个可排序列表的一部分。您是否尝试过
over事件?你想完成什么? -
over 仅在初始悬停时触发,该事件实际上已被 Change 事件捕获。在对可排序的顺序进行所有更改期间,我需要做很多事情。我认为您是对的,也许该项目仍被视为原始可排序的一部分。但是,我不同意这有任何意义。当排序或数量发生变化时,ChangeEvent 应该触发。
标签: javascript jquery jquery-ui jquery-ui-sortable