[英]jquery sortable cancel remove based on confirmation
[英]jQueryUI Sortable - cancel sort based on confirmation box
$(function() {
$(".ui-sortable").sortable({
opacity: 0.8,
revert: 200,
helper: "clone"
}).disableSelection();
$("#list1").sortable("option", "connectWith", "#list2");
$("#list2").sortable("option", "connectWith", "#list1");
$(".ui-sortable").on("sortreceive", function (event, ui) {
var answer = confirm("Move item?");
if (!answer) {
$(ui.sender).sortable('cancel');
return false;
}
var origZoneId = ui.sender.attr("id");
var dockId = ui.item.attr("id");
var destZoneId = event.target.id;
alert("Moving to: " + destZoneId + "From: " + origZoneId);
});
});
我的问题与此处的问题类似,但是当执行答案时,我发现receive
事件仍在触发,并且我想防止这种情况发生,因此我将确认框移到了receive
事件。 除以下情况外,一切正常:
步骤 :
将项目移回列表1,但选择“取消”。
当前输出 :项目停留在列表1中
预期的输出 :项目移回到列表2
关于为什么发生这种情况以及如何避免的任何想法? 我曾想过将确认框移回“删除”事件并设置一个标志,但这对我而言似乎并不干净。 有更容易的方法吗?
我将其添加到可排序的构造函数中
$( ".js-table-sortable" ).sortable(
{
stop: function(event, ui)
{
var resp = confirm("Are you sure?");
if(!resp){
return false;
}
}
});
此更改取消排序选项,并将拖动的行返回到它的位置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.