【发布时间】:2011-11-30 03:38:53
【问题描述】:
我有一个可排序的 jquery,它带有与更新事件相关的 ajax 回调。 ajax 回调将更新的排序顺序发送回服务器,然后刷新可排序以确保客户端和服务器都同步。
我遇到的问题是用户可以在 ajax 调用完成之前启动一个新的可排序事件 - 我想阻止这种情况。
我所做的尝试是在更新事件上禁用可排序,然后在 ajax 调用返回时重新启用它。但是,除非我弄乱了顺序,否则这似乎不起作用 - 我仍然可以在 ajax 调用仍处于活动状态时开始新的可排序拖动。
还有其他方法可以防止这种情况吗?我当然可以设置一个全局 javascript 变量,上面写着“嘿,现在不行,我正在 ajaxing ......”并引用它,但我不确定哪个可排序事件会检查这个,或者它会如何杀死可排序的点击请求。
想法?
【问题讨论】:
-
我怀疑的一件事是您是否可以禁用当前处于活动状态的可排序。换句话说,我可以在它自己的更新方法中禁用可排序吗?
-
这是一个超级老问题,但你还记得你是否尝试过
element.sortable('option', 'disabled', 'true')而不是element.sortable('disable')吗?如果是这样,它是否比另一个更有效?
标签: ajax jquery-ui jquery-ui-sortable