【问题标题】:jQuery Sortable + Droppable. After dropping, my LI is wrapped inside another LIjQuery 可排序 + 可放置。掉落后,我的 LI 被包裹在另一个 LI 中
【发布时间】:2010-10-20 09:41:12
【问题描述】:

这是我的可拖动连接到可排序的代码。问题是,我正在创建一个具有一堆属性的 LI。但是当我将一个项目拖到可放置的 div 时,可排序的对象会创建一个新的 li 标签并用它包装我创建的 li。

看起来像这样:

<ul>
<li class="ui-draggable" style="display: list-item;">
    <li class="X" onclick="myFunc()"> My LI</li>
<li>
</ul>

虽然我的意图是有这样的东西:

<ul>
    <li class="X" onclick="myFunc()"> My LI</li>
</ul>

那我该怎么做呢?

还有代码:

$(document).ready(function() {

$('.draggable_text > li').draggable({
    helper: function(event, ui) {
        return '<div class="placeholder_sortable">&nbsp</div>'
    },
    connectToSortable:'#stagerows'
});

$('#stagerows').sortable({
    handle: '.drag_handle',
    placeholder: 'placeholder_sortable'
});

/**
 * When item is dropped from the Add <Stuff>
 */
$('#stagerows').droppable({
    drop: function(event, ui){
        return ui.draggable.html('<li class="X" onclick="myFunc()"> My LI</li>')
    }
});

});

【问题讨论】:

    标签: jquery jquery-ui-sortable jquery-ui-droppable


    【解决方案1】:

    试试这个:

    $('#stagerows').droppable({
        drop: function(event, ui){
            return ui.draggable.html('My LI').addClass('X').click( myFunc );
        }
    });
    

    【讨论】:

    • 感谢 tvanfosson。但是从代码的外观来看,我必须删除我创建的 li-tags。返回 ui.draggable.html(createHTML()); //上面的代码,我明确添加了html以使其更具可读性。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多