0
我遇到了这个问题,试图提高处理大量可拖动列表的性能;我尝试删除一个父容器,这样批处理项目会变得更快(因此每个处理都不会触发DOM刷新),并且之后重新插入容器确实会导致可拖动项停止工作。例如jQuery:为什么要移除可拖动的父节点可拖动?
对于<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>
所以,调用filterItems('foo');
,例如,导致项目无法被拖拽元素了。我是否必须再次在<LI>
元素上重新应用可拖动的元素?如果是这样,那么如果我不得不重新申请某些东西,那么没有必要移除父母来加速过程,是吗?
啊!是!我从来没有真的必须使用这种方法。谢谢! –