【发布时间】:2012-11-07 04:47:39
【问题描述】:
当一个对象从一个 div 拖放到另一个 div 时,li 中的格式只会更改为文本。我希望它具有相同的格式和样式,即删除后的“li”。
$(function() {
$( "#catalog ul" ).sortable({
zIndex: 10000,
revert: true
});
$( "#catalog" ).accordion();
$( "#catalog ul" ).draggable({
appendTo: "body",
helper: "clone",
zIndex: 10000
});
$( "#dialogIteration ol" ).droppable({
activeClass: "ui-state-default",
hoverClass: "ui-state-hover",
drop: function( event, ui ) {
$( this ).find( ".placeholder" ).remove();
$( "<li></li>" ).text( ui.draggable.text() ).appendTo( this );
}
}).sortable({
items: "li:not(.placeholder)",
sort: function() {
// gets added unintentionally by droppable interacting with sortable
// using connectWithSortable fixes this, but doesn't allow you to customize active/hoverClass options
$( this ).removeClass( "ui-state-default" );
}
});
$( "ul, li" ).disableSelection();
$("#dialogIteration").dialog();
});
【问题讨论】:
-
我试过你的演示:它不会让我进入第二个 div。它让我可以拖动以更改框中三个项目的顺序,但是当我尝试将它们放入“在此处添加您的故事”框中时,它们滑回了它们开始的位置。 (因此,由于拖放不起作用,因此您提到的格式更改问题不适用。)
-
jsfiddle.net/coolanuj/7683X/12 @nnnnnn : 请在这里查看
标签: jquery html drag-and-drop draggable droppable