jquery - 在 JQuery 中拖放事件后返回元素的新顺序

标签 jquery jquery-ui drag-and-drop jquery-ui-sortable

我已将样本放置在以下位置:http://jsbin.com/axegem/1

这是场景。当我将 div 拖放到另一个位置时,我需要检索 div 的新顺序。例如,假设(就我的示例而言),我将 DIV 3 拖放到 DIV 6 之后。现在我正在尝试获取 div 的新顺序。为了进行测试,我在以下代码中警告他们的 html 文本:

$(".draggable").each(function(){
  alert($(this).html());
});

我期望警报顺序为:DIV 1、DIV 2、DIV 4、DIV 5、DIV 6、DIV 3、DIV 7、DIV 8、DIV 9。但我在样本中得到的是DIV 1、DIV 2、DIV 3、DIV 4、DIV 5、DIV 6、DIV 7、DIV 8、DIV 9

将 div 放置到新位置后如何获取它们的新顺序?

最佳答案

我对您的代码做了一些更改以满足您的需求。

我已更改为使用 Sortable功能,那是因为您使用了draggable唯一不排序的元素。

当你使用Sortable时,将很容易获得排序后的元素

$(document).ready(function() {
    $('#divOuter2').css("margin","-540px 0 0 400px");
    $('#divOuter3').css("margin","-540px 0 0 800px");

    $(".droppable").sortable({
      update: function( event, ui ) {
        Dropped();
      }
    });



  });



    function Dropped(event, ui){
      $(".draggable").each(function(){
        //var p = $(this).position();
        alert($(this).html());
      });
      refresh();
    }

我已将 .droppable 类的 DOM 元素设置为可排序。

然后Update我正在调用您的函数的事件 Dropped

See Example

关于jquery - 在 JQuery 中拖放事件后返回元素的新顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14649453/

相关文章:

javascript - 使用getJSON中的JSON/AJAX信息来更改多个iframe的src,以包括从YouTube API中获取的videoId

jquery - 更新到 jQuery 1.9.1 后 browser.msie 错误

Javascript : Replace Detect a string and replace html in a div after changing color

ios - 如何在 iPhone 的自定义 UIView 上启用 UIDragInteraction

c# - 拖放到桌面图标上

javascript - jQuery:对于每个类,当鼠标悬停在其他div上的toggleClass上时

jquery-ui - 为什么 JQuery ui.core.js 中的前导分号?

javascript - jQuery Autocomplete 出现在 HTML 的顶部,附加到 body 标签的底部

jquery-ui - 如何在函数中创建 jQuery 对话框

javascript - jQuery : a drag-and-drop upload with multi dropzone