[英]Dragging droppable into an iframe with sortable
尝试创建droppable
放置对象以将项目放置在另一个iframe
中的sortable
中时。 我成功创建了两个独立的框架并将它们链接起来,得到了以下jQuery对象:
将项目从droppable
拖放到sortable
拖动功能仍然缺失,因此我需要检查和调试JSFiddle以使该功能正常工作并优化代码。 所有逻辑都在这个JS脚本中。
这里已经讨论了一些问题,但是仅凭信息我无法使其发挥作用。
// Create the iframe
$('<iframe id="editor-iframe" name="editor-iframe" src="" style="width:100%;overflow:visible;scrolling="no" seamless="seamless">').appendTo('body');
var iframe = $("#editor-iframe").contents();
iframe.bind("change", function() {
$("#editor-iframe").css({
height: iframe.$("body").outerHeight()
});
});
// Parameters for sortable
var sortableParameters = {
connectWith: '.connectedSortable',
placeholder: {
element: function(currentItem) {
return '<li></li>';
},
update: function(container, placeholder) {
if ($(container.element[0]).hasClass('sortable-grid')) {
placeholder.removeClass('highlight-vertical');
placeholder.addClass('highlight-horizontal');
} else if ($(container.element[0]).hasClass('sortable-row')) {
placeholder.removeClass('highlight-horizontal');
placeholder.addClass('highlight-vertical');
}
return;
}
},
start: function(event, ui) {
if (typeof sender != 'undefined') {
if (sender.hasClass('items')) {
receiver = $(this);
}
return;
}
sender = $(this);
},
over: function(event, ui) {},
stop: function(event, ui) {
item = $(ui.item);
receiver = $(ui.item.parent());
//Create wrapper around cells passed into new rows
if (item.hasClass('sortable-cell') && receiver.hasClass('sortable-grid')) {
item.wrap("<li class='sortable-table'><ul class='sortable-row connectedSortable ui-sortable'></ul></li>").parentElement.sortable(sortableParameters);
}
},
iframeFix: true
}
// Called after done loading the iframe
$("#editor-iframe").on("load", function() {
// Initialize draggable
$('.items li').draggable({
start: function(event, ui) {
sender = $(event.target.parentElement);
},
over: function(event, ui) {},
stop: function(event, ui) {
item = $(event.target);
//Create wrapper around cells passed into new rows
if (item.hasClass('sortable-cell') && receiver.hasClass('sortable-grid')) {
item.wrap("<li class='sortable-table'><ul class='sortable-row connectedSortable ui-sortable'></ul></li>").parent().sortable(sortableParameters);
}
},
helper: 'clone',
iframeFix: true,
connectToSortable: $('#editor-iframe').contents().find('.sortable-grid, .sortable-row').sortable(sortableParameters), // Initialize sortable
});
});
// Load content for iframe
$("#editor-iframe").attr("src", "http://fiddle.jshell.net/piglin/UAcC7/1848/show/light/");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.