我正在使用 jQuery sortable 来允许用户<li>
在<ul>
列表中重新排列。HTML 仅包含
<ul id="uisortable"></ul>
javascript包含以下内容:
$(function() {
$('#uisortable').sortable();
$("#uisortable").disableSelection();
});
这些项目是从 JS 动态添加的,在添加项目之后,我正在调用
$('#uisortable').sortable("刷新");
在 FF、Opera 和 Webkit 中一切正常,但在 IE 中根本不起作用——任何版本,甚至是 IE 9。我尝试添加类似这样activate
的选项:sortable
$('#uisortable').sortable({
activate: function() {
throw("Start sorting");
}
});
在 IE 9 脚本调试器中,我在线上放置了一个断点throw("Start sorting")
- 但该行永远不会激活。似乎在 IE 中,可排序对象根本没有将自己附加到列表中。
我将 jquery 1.4.2 与 jquery UI 1.8.13 一起使用。
有趣的是,jquery ui 可排序演示页面工作正常,所以它必须与我的代码有关 - 但我可以进一步简化多少?好吧,我可以——我做到了。我没有动态地创建项目,而是在我的 HTML 中静态地创建它们(用于测试)。我从<li>
除了一行文本中删除了所有内容。现在我的 HTML 看起来像这样:
<ul id="uisortable">
<li class="sortitem">Item 1</li>
<li class="sortitem">Item 2</li>
<li class="sortitem">Item 3</li>
</ul>
使用上面的javascript代码。不过,不能在 IE 中工作。并且错误控制台中没有任何类型的错误。不过在 FF、Webkit 和 Opera 中都很好。我现在完全被难住了。任何帮助是极大的赞赏。