0

当一个对象从一个 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();
    });

演示:http: //jsfiddle.net/coolanuj/7683X/7/

4

1 回答 1

2

我假设您希望第二个 div 中删除的元素保留其格式?如果是这样,看看你的 jsfiddle,我可以看到两个潜在的问题。

1)在您的可放置定义中,您创建了一个新的li元素,但您不会复制内联样式(因此您会丢失颜色定义等)

2)在你的CSS中,你只将样式应用于第一个div中的ul,而不是第二个div中的ol

于 2012-11-07T05:14:58.953 回答