Javascript jquerysortable拖拽div,但在发布后不排序

Javascript jquerysortable拖拽div,但在发布后不排序,javascript,jquery,html,user-interface,Javascript,Jquery,Html,User Interface,我试图使div#h#u red#u中的项目可打印(在页面加载时动态添加,并且有一个类“chart_container”)可排序,但所发生的是我可以将它们四处拖动,但当我释放单击时,div返回到以前的位置。有什么建议吗 虚拟HTML: *<div id="printable_charts" style="display:none;height:auto;"> <div id="printable_hw"> <

我试图使div#h#u red#u中的项目可打印(在页面加载时动态添加,并且有一个类“chart_container”)可排序,但所发生的是我可以将它们四处拖动,但当我释放单击时,div返回到以前的位置。有什么建议吗

虚拟HTML:

   *<div id="printable_charts" style="display:none;height:auto;">

            <div id="printable_hw">
               <img class="banner-img" src="/static/app/ihi/hardware.png" />
              <div id="h_red_printable" class="cat_column">
                  <div class="chart_container"> 
                      <div class=".add_stuff" style="position:absolute;">Stuff here</div>
</div>
              </div>
            </div>
    </div>*
是的,我已经包括了这两个脚本:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.min.js" type="text/javascript"></script>

尝试将内部div(此处填充)设置为绝对位置

 <div class="chart_container">Stuff here</div>
这里的东西

因为元素是通过单击按钮添加的,因此在$(“#h#u red_printable”)之后添加。可排序();调用时,向该按钮添加事件处理程序,单击事件如下,以刷新可排序元素的列表:

$('#theButton').click(function (e) {
   $('#h_red_printable').sortable('refresh');
});

你能用JSFIDLE做一个代码片段吗?你有什么特别的css吗?你能展示你的css类是什么样子吗?@keiv.fly不幸的是,我不能,因为div中有很多东西,其中一些是通过需要身份验证的第三方加载的。。“chart_container”div中还有另一个div,它有position:relative,并且该div中有许多元素是绝对定位的。已编辑代码*。图表容器尚未设置定位。此外,元素何时添加到可排序项目列表中?如果在调用sortable()后发生这种情况,则需要调用
$('#h#u red_printable')。sortable('refresh')
@Jean-Françoisbauchamp在页面加载后添加它们。所以,我在触发某个事件后调用..sortable('refresh'),或者我只是在..sortable()调用后添加剪接?您添加了“jquery ui.css”吗?是的,我添加了。。尝试重新定位,但仍然没有。当然,您必须调整上面代码中的选择器。此外,如果已经有一个您可以访问的单击处理程序,那么您可以在其中添加代码,这样可以更安全地确保在将元素添加到DOM之后执行刷新。
$('#theButton').click(function (e) {
   $('#h_red_printable').sortable('refresh');
});