2

我刚刚升级到 jQ 1.5 和 jQUI 1.8.9,我的 sortables 开始表现得很奇怪。我有链接的可排序对象,当我将项目拖过时,它们似乎随机停止,而且通常看起来很不稳定。升级是否需要任何更改?

更新——在 JQuery UI js 文件中出现一些错误

无法读取第 1504 行未定义的属性“可排序” 无法读取第 1585 行和 1627 行未定义的属性选项 无法读取 1461 上未定义的属性“元素”

更新——这是一个最小的例子

说明:将一个项目从红色框(draggables)拖到第一个蓝色可排序框上并进入第二个蓝色可排序框。尝试将鼠标移入第二个框时,拖动应终止。

似乎 jquery ui 在这里不一定有问题,将 jquery 引用更改为 1.4.4 解决了这个问题,所以我认为这可能是 jquery 本身的问题,特别是对数据 api 的一些更改。

<!DOCTYPE HTML>
<html>
<head>
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script>
    <link type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/themes/dark-hive/jquery-ui.css" rel="Stylesheet" />
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/jquery-ui.js"></script>

    <script type="text/javascript">
        $(function () {
            $('.sortable').sortable({ connectWith: '.sortable' }).disableSelection();   
            $('.draggable>div').draggable({ connectToSortable: '.sortable' });
        });
    </script>
</head>
<body>
    <style>     
        .draggable { border: 1px solid red; margin-bottom: 15px; width: 50%; padding: 5px;}
        .sortable  { border: 1px solid blue; margin-bottom: 15px; width: 50%; padding: 5px;}
    </style>

    <div id="draggers" class="draggable">
        <div class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Drag 1</div>
        <div class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Drag 2</div>
        <div class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Drag 3</div>        
    </div>

    <div id="sortable" class="sortable">
        <div class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Sort 1</div>
        <div class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Sort 2</div>
        <div class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Sort 3</div>        
    </div>

    <div id="sortable2" class="sortable">
        <div class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Sort 4</div>
        <div class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Sort 5</div>
        <div class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Sort 6</div>        
    </div>

</body>
4

1 回答 1

4

jquery 1.5 和 jquery 1.8.9 好像不能一起支持。在这种情况下,1.5 中的 .clone 方法克隆了它之前没有执行的事件,并且已为 1.5.1 准备好修复。 jQuery 票

于 2011-02-10T14:21:23.260 回答