我需要检测何时可排序的顺序发生变化。我需要它来触发更改事件,无论排序项来自何处。
但是,似乎ui.sortable中可能存在缺陷,当从一个连接的可排序类型拖动到另一个时,它不会触发事件。
考虑:
相反,当用户从同一个Sortable#A中开始排序时,Change Event会在Sortable#A上触发每个时间。 http://screencast.com/t/uirpg1E5nA
首先,这似乎是ui.sortable的缺陷。第二,有没有人建议我如何获得蛋糕并吃掉它?如果需要,我很满意ui.sortable。
答案 0 :(得分:0)
更改事件确实仅在连接的可排序对象上触发一次,但每次在连接的可排序对象上更改位置时,它都会触发原始可排序对象。
请参阅fiddle
根据您想要实现的目标,您可以使用一系列事件来获取所需信息:
start
告诉您$(ui.item)
当前可排序的内容。 over
告诉您项目被拖入的已连接排序($(this)
)。change
告诉您该项目已在最后over
- ed或start
- ed。因此,将项目的当前可排序项存储在其数据中,并在start
& over
,也许可以在stop
上删除它。
我同意你的看法,应该会更容易。