jQuery:为什么要删除draggable';谁的父母打破了拖拉?

jQuery:为什么要删除draggable';谁的父母打破了拖拉?,jquery,draggable,Jquery,Draggable,我遇到了这个问题,试图提高操纵大量拖拉表的性能;我尝试删除父容器,以便批处理项目更快(因此每次处理都不会触发DOM刷新),然后重新插入容器确实会导致DragTables停止工作。比如说 <div id="listParent"> <div id="listWrapper"> <ul id="draggableList"> <li class="draggable">Item 1</li> <li

我遇到了这个问题,试图提高操纵大量拖拉表的性能;我尝试删除父容器,以便批处理项目更快(因此每次处理都不会触发DOM刷新),然后重新插入容器确实会导致DragTables停止工作。比如说

<div id="listParent">
<div id="listWrapper">
    <ul id="draggableList">
       <li class="draggable">Item 1</li>
       <li class="draggable">Item 2</li>
       <li class="draggable">Item 3</li>
       <li class="draggable">Item 4</li>
       <li class="draggable">Item 5</li>
       <!-- many more items here -->
    </ul>
</div>
</div>
<script type="text/javascript">
$(function() {
   $( ".draggable" ).draggable({
      revert: true
   });

   function filterItems(text) {
      var p = $('#listWrapper').remove();

      // for each <LI> element, hide the ones who do not match `text`'s value

      p.appendTo('#listParent');
   }
   // ...
});
</script>

    第1项 第2项 第3项 第4项 第5项
$(函数(){ $(“.draggable”).draggable({ 回复:真 }); 函数过滤器项(文本){ var p=$('#listWrapper').remove(); //对于每个
  • 元素,隐藏与“text”值不匹配的元素 p、 附加到(“#列表父项”); } // ... });
  • 因此,调用
    filteriems('foo'),导致项目不再是可拖动的。我是否必须再次在
  • 元素上应用Dragable?如果是这样的话,那么如果我必须在以后重新应用某些内容,那么就没有必要删除父级以加快进程,是吗?

    使用
    .detach()
    而不是
    .remove()
    来保留附加的事件处理程序。以下是这些文件的摘录

    .remove()方法将元素从DOM中取出。如果需要,请使用.remove() 要删除元素本身以及其中的所有内容。在里面 除了元素本身,所有绑定事件和jQuery数据 与元素关联的元素将被删除删除元素 在不删除数据和事件的情况下,请改用.detach()。

    我的

    这是一个例子

    使用
    .detach()
    而不是
    .remove()
    来保留附加的事件处理程序。以下是这些文件的摘录

    .remove()方法将元素从DOM中取出。如果需要,请使用.remove() 要删除元素本身以及其中的所有内容。在里面 除了元素本身,所有绑定事件和jQuery数据 与元素关联的元素将被删除删除元素 在不删除数据和事件的情况下,请改用.detach()。

    我的


    这是一个例子

    啊!!对我以前从未真正使用过那种方法。谢谢啊!!对我以前从未真正使用过那种方法。谢谢