【发布时间】:2014-06-29 22:18:10
【问题描述】:
我有两个列表,我想用 jQuery UI 进行排序。问题是只有一个列表可以排序/可拖动。
jqtest.html:
<body>
<div id="list1">
<li>one</li>
<li>two</li>
<li>three</li>
</div>
<div id="list2">
<li>one</li>
<li>two</li>
<li>three</li>
</div>
</body>
jqtest.js
不工作:
UI.body.rendered = function(){
this.$("#list1", "#list2").sortable();
}
这行得通:
UI.body.rendered = function(){
this.$("#list1").sortable();
this.$("#list2").sortable();
}
通过查看控制台,我可以看到 ui-sortable 类仅添加到 list1 中,因此这可能就是它不起作用的原因。我尝试手动将类添加到 list2,但这也不起作用(添加了类但无法拖动)。
我通过复制每个列表的可排序调用来使其工作,但这对我来说似乎不是很枯燥,并且可能会对性能产生影响。
【问题讨论】:
-
附带说明,您拥有的 html 无效...
<li>应该是<ul>的直接子代 -
您可能希望使用原生 HTML5 拖放 API 来代替 jQuery,使用 this Meteor wrapper。