一些Javascript停止工作时发布

时间:2012-11-16 15:14:38

标签: jquery publish jquery-droppable jquery-draggable

正如标题所示,我的Javascript在发布时停止工作(这是在服务器上)。 (这是关于Draggable / Droppable和一个Droppable应该只包含一个Draggable)。

这是我的Javascript代码:

function pageLoad() {
    $('.droppable').droppable({
        hoverClass: "ui-state-active",
        drop: function (event, ui) {
            $(this).droppable('option', 'accept', ui.draggable);
        },
        out: function (event, ui) {
            $(this).droppable('option', 'accept', '.draggable');
        },
        create: function (event, ui) {
            if ($(this).find('.draggable').length == 1) {
                $(this).droppable('option', 'accept', $(this).find('.draggable'));
            }
        },
    });

    $('.draggable').draggable({
        revert: 'invalid',
        cursor: 'move',
        zIndex: 10000
    });
}

好的,所以我使用了这篇文章中的一些解决方案:jQuery UI - Droppable only accept one draggable 有人说:“快速注意:这只适用于jQuery 1.6” - Narretz Jun 4 17:21。当我在我发布的版本上运行它时,JQuery根本不起作用,没有任何对象是可拖动的。

我做过的测试 - 从脚本中取出这段代码:

drop: function (event, ui) {
    $(this).droppable('option', 'accept', ui.draggable);
},
out: function (event, ui) {
    $(this).droppable('option', 'accept', '.draggable');
},
create: function (event, ui) {
    if ($(this).find('.draggable').length == 1) {
        $(this).droppable('option', 'accept', $(this).find('.draggable'));
    }
},

所以至少现在拖放工作在已发布的版本中,但我仍然想要最大的一个功能。

我的Javascript文件引用如下:

<script src="jquery.min.js" type="text/javascript"></script>
<script src="jquery-ui.min.js" type="text/javascript"></script>

我的脚本文件位于该文件夹中,包括本地和服务器上的文件。

所以我的怀疑落到了“jQuery 1.6”上。有人对此有所了解吗?

抱歉我的文字墙。先谢谢

/里卡德

1 个答案:

答案 0 :(得分:0)

为什么不引用cdn托管的jQuery版本,因此您将在测试计算机上使用与服务器上相同的版本。

https://developers.google.com/speed/libraries/devguide#jquery

只需插入一个&lt; script&gt;文档中的标记,其中src =属性设置为上面页面提供的链接。然后,无论是在服务器上还是在本地,您都可以运行相同版本的jQuery。 (加上这将通过卸载到CDN提供商来节省少量服务器带宽。)