这是我连接到可排序的可拖动代码。问题是,我正在用一堆属性创建一个LI。但是当我将一个项目拖到droppable div时,sortable会创建一个新的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"> </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>')
}
});
});
答案 0 :(得分:3)
尝试使用:
$('#stagerows').droppable({
drop: function(event, ui){
return ui.draggable.html('My LI').addClass('X').click( myFunc );
}
});