因此,正如标题所说,我的Javascript在发布时停止工作(这是在服务器上)。(这是关于Draggable/Dropable的,一个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
});
}
好吧,所以我使用了这篇文章中的一些解决方案:jQueryUI-Dropable只接受一个可拖动有人说:"注意:这只适用于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"这件事上。有人知道这件事吗?
对不起我的文字墙。事先感谢
/里卡德
为什么不引用一个cdn托管的jQuery版本,这样你就可以在测试机器上使用与服务器上相同的版本。
https://developers.google.com/speed/libraries/devguide#jquery
只需插入<脚本>标记,并将src=属性设置为上面页面提供的链接。然后,无论是在服务器上还是在本地,都将运行相同版本的jQuery。(此外,这将通过卸载到CDN提供商来节省少量服务器带宽。)