Javascript 在jQueryUI可排序小部件中,如何在start方法中执行取消操作
当您尝试在start方法中执行取消操作时,jQueryUI sortable小部件抛出异常(this.helper为null)。下面是一个例子:Javascript 在jQueryUI可排序小部件中,如何在start方法中执行取消操作,javascript,jquery-ui,jquery-plugins,jquery-ui-sortable,Javascript,Jquery Ui,Jquery Plugins,Jquery Ui Sortable,当您尝试在start方法中执行取消操作时,jQueryUI sortable小部件抛出异常(this.helper为null)。下面是一个例子: $('#sort').sortable({ start: function() { $(this).sortable('cancel'); //cancel operation. Causes an exception (this.helper = null) } }); 请参阅此JSFIDLE以了解实
$('#sort').sortable({
start: function() {
$(this).sortable('cancel'); //cancel operation. Causes an exception (this.helper = null)
}
});
请参阅此JSFIDLE以了解实时代码示例
在jQueryUI可排序小部件的“开始”菜单中使用“取消”选项是否有解决方法?答案是,如果您阅读jQuery UI文档,则仅在停止和接收事件上支持取消操作。基本上,一旦用户开始拖动,在将项目拖放到新位置之前,您无法恢复该操作 为什么要在开始功能中取消它?你不能使用停止或接收吗?你能详细说明原因吗?@Irvindiminakaedward我排除了我使用的实际代码,这些代码可以充分说明你的问题,以保持问题的焦点。如果不应该的话,我不希望重新排序(如果我将cancel添加到stop或receive方法中就会发生)。否则,我对Knockout.js的使用就会失去同步。这就是为什么我需要取消在开始(防止重新排序发生)或如果可能更早。这回答了您的问题吗?您想在运行时还原它,或者某些可排序的项目必须始终不可排序?@irvindomininakadeward某些项目必须不可排序。不幸的是,选择要包括的项存在一个问题,即可以选择排除的项并使用它来移动整个父UL(而不仅仅是LI)。这可能是因为排除项是包含项的子项。不管怎么说,这很奇怪,也让人无法忍受。这就是为什么我一开始就试图阻止搬家。