首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery可排序在IE中不起作用

问jQuery可排序在IE中不起作用
EN

Stack Overflow用户
提问于 2012-05-18 21:38:51
回答 2查看 5.1K关注 0票数 2

我正在使用jQuery sortable来允许用户在<ul>列表中重新排列<li>。HTML仅包含

代码语言:javascript
复制
<ul id="uisortable"></ul>

javascript包含以下内容:

代码语言:javascript
复制
$(function() {
    $('#uisortable').sortable();
    $("#uisortable").disableSelection();
});

这些项是从JS动态添加的,在添加项之后,我调用

$(‘#uisortable’)刷新(“.sortable”);

一切在FF、Opera和Webkit中都运行得很好,但在IE中却完全不起作用--任何版本,甚至IE9。我试着像这样在sortable中添加activate选项:

代码语言:javascript
复制
$('#uisortable').sortable({
    activate: function() {
        throw("Start sorting");
    }
});

在IE9脚本调试器中,我在throw("Start sorting")行上放置了一个断点-但该行永远不会激活。似乎在IE中,可排序对象根本不会将自己附加到列表中。

我使用的是jquery 1.4.2和jquery UI 1.8.13。

有趣的是,jquery ui可排序演示页面工作得很好,所以它必须与我的代码相关-但我还能进一步简化它吗?好的,我可以--所以我做到了。我没有动态地创建这些项,而是在我的HTML中静态地创建了它们(用于测试)。我从<li>中删除了除一行文本之外的所有内容。现在我的HTML看起来像这样:

代码语言:javascript
复制
<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中还不错。我现在完全被难住了。任何帮助都是非常感谢的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-18 21:56:46

显然,这个问题与jquery.ui版本有关。我从1.8.13升级到1.8.20 (比将jquery从1.4.2升级到1.7.2容易得多)-现在它可以工作了!

票数 3
EN

Stack Overflow用户

发布于 2012-05-18 21:49:24

看看this JSFiddle吧。

对于我来说,在JQuery 1.4.4的IE9中工作很好。但是,如果我升级到JQuery 1.3.2 (JSFiddle上可用的下一个较低版本),它就会停止工作。

您可以在JSFiddle上“添加资源”来获取您正在使用的确切版本,但我认为使用JQuery 1.4.4或更高版本(以及适当版本的JQueryUI)可以解决这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10653730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档