如何判断何时移动了jQuery UI可排序元素并处于无效状态
我有两个可连接排序的列表。我想在某个项目从当前列表中移出,但未进入另一个已连接列表或该项目正在排序时触发事件。有人知道怎么做吗 我在这里要做的是让用户通过从列表中拖出一个项目来删除它。您可以查看如何判断何时移动了jQuery UI可排序元素并处于无效状态,jquery,jquery-ui-sortable,Jquery,Jquery Ui Sortable,我有两个可连接排序的列表。我想在某个项目从当前列表中移出,但未进入另一个已连接列表或该项目正在排序时触发事件。有人知道怎么做吗 我在这里要做的是让用户通过从列表中拖出一个项目来删除它。您可以查看$(“.selector”).sortable({out:function(e,ui){};在对象被拖出列表时设置一个变量。如果它被释放,则.sortable({stop:function(e,ui){})被触发。如果.sortable({over:function(e,ui){});在out触发后没有调
$(“.selector”).sortable({out:function(e,ui){};
在对象被拖出列表时设置一个变量。如果它被释放,则.sortable({stop:function(e,ui){})
被触发。如果.sortable({over:function(e,ui){});
在out
触发后没有调用,您可以查看$(“.selector”).sortable({out:function(e,ui){})
每当对象被拖到列表外时设置变量。如果对象被释放,则会触发.sortable({stop:function(e,ui){});
。如果.sortable({over:function(e,ui){}),则可以判断对象是否未被拖到列表上在out
触发器之后未调用
。在此基础上,您还可以使可排序表可拖放,并使用可拖放的out
和over
事件跟踪元素何时进入和退出该区域。在此基础上,您可以添加如下功能:
var isInside = true;
$("#sortable1, #sortable2").sortable({
connectWith: '.connectedSortable',
stop: function() { alert(isInside) }
})
.droppable({
over: function() { isInside = true; },
out: function() { isInside = false; },
accept: "li"
});
这里有一个演示:基于,您还可以使可排序表可拖放,并使用可拖放的out
和over
事件跟踪元素进入和退出区域的时间。基于,您可以添加如下功能:
var isInside = true;
$("#sortable1, #sortable2").sortable({
connectWith: '.connectedSortable',
stop: function() { alert(isInside) }
})
.droppable({
over: function() { isInside = true; },
out: function() { isInside = false; },
accept: "li"
});
这里有一个演示:我没有这样做。一种情况是将一个项目直接从排序表中拖出(而不是拖到另一个排序表上)然后将其丢弃。将不会调用
out
回调,并且变量设置不正确。不过,我是根据您的方法创建的,因为可丢弃的的回调调用不同,所以我无法以这种方式工作。一种情况是,将一个项直接从排序表中拖出(而不是拖到另一个排序表上)然后将其删除。将不会调用out
回调,并且变量设置不正确。不过,我是根据您的方法创建的,因为droppable
的回调调用不同