Jquery ui jQuery UI Sortable+Dropable在Dropable上丢弃时都会触发
我有一个元素列表,这些元素是可排序的,并且排序很好。我还有一个位于可排序列表之外的下拉列表。当我在Dropable上放置项目时,它旨在执行复制操作,这意味着在此操作期间不需要排序 但不幸的是,将sortable拖到外部可拖放文件会导致触发sortable.update。如果一个可排序的拖放事件被拖到给定元素之外,是否有一种方法可以忽略所有可排序的拖放事件 我已经浏览了所有相关的可排序事件,但我似乎找不到任何对可排序元素的引用,以便查看它们是否有共同的父元素 这里有一把小提琴来演示:Jquery ui jQuery UI Sortable+Dropable在Dropable上丢弃时都会触发,jquery-ui,jquery-ui-sortable,jquery-ui-droppable,Jquery Ui,Jquery Ui Sortable,Jquery Ui Droppable,我有一个元素列表,这些元素是可排序的,并且排序很好。我还有一个位于可排序列表之外的下拉列表。当我在Dropable上放置项目时,它旨在执行复制操作,这意味着在此操作期间不需要排序 但不幸的是,将sortable拖到外部可拖放文件会导致触发sortable.update。如果一个可排序的拖放事件被拖到给定元素之外,是否有一种方法可以忽略所有可排序的拖放事件 我已经浏览了所有相关的可排序事件,但我似乎找不到任何对可排序元素的引用,以便查看它们是否有共同的父元素 这里有一把小提琴来演示: 将sorta
将sortable 1/2拖动到Dropable会导致sortable.sort启动。OK终于找到了问题的症结所在:sortable.stop需要调用sortable'cancel',我只是在sortable.stop中添加一个类,以便它知道是否要取消自身:
$('div').droppable({
drop: function(e, ui) {
ui.draggable.parent().addClass('dropped');
}
});
$('ul').sortable({
stop: function(){
if ($(this).hasClass('dropped')){
$(this).sortable('cancel');
$(this).removeClass('dropped');
}
}
});
我的更新示例位于:OK终于找到了问题的症结所在:需要从sortable.stop调用sortable'cancel',我只是在sortable中添加一个类,以便它知道是否要取消自身:
$('div').droppable({
drop: function(e, ui) {
ui.draggable.parent().addClass('dropped');
}
});
$('ul').sortable({
stop: function(){
if ($(this).hasClass('dropped')){
$(this).sortable('cancel');
$(this).removeClass('dropped');
}
}
});
我的更新示例位于: