我有两个HTML无序列表,我将它们与jQuery一起用作购物车,jQuery可拖动和可排序,如他们的网站演示所示。
我们有一个要求,如果用户将一个项目拖到购物车的选定项目之外,则应该将其删除。
我们还使用MVC 5和Ajax为每个完成的操作更新购物车。。。如果一个项目被拖到选定的项目中,它会立即添加到数据库表或缓存中。如果一个项目在所选项目列表中排序,我们会捕获旧索引和新索引,并立即更新后端的优先级值。这两个功能运行良好。
我的问题是,根据文件(https://api.jqueryui.com/sortable/#event-out(并且通过Inspect Element证明的是;输出";jQuery sortable的事件可能在两种不同的情况下触发:
-
如果可排序项目被拖到其容器外。
-
如果可排序项目被丢弃。
如果我错了,请纠正我,但out事件第二次触发对我来说没有意义;out";如果用户开始移动项目,但没有移动项目并释放鼠标,事件也会触发。
如何准确确定可排序项目是否已被拖放到其容器列表之外(而不是在其容器内移动(?
我们的解决方案是放弃使用JQuery UI进行排序和拖放操作。
我们使用了sortable.js,它在处理排序和拖放事件方面似乎更加清晰。