Jquery UI结合了可排序和可拖动

dam*_*ams 7 jquery draggable jquery-ui-sortable jquery-ui-draggable

我正在尝试组合一个可拖动的面板(在顶部)和一个可排序的面板(底部).

拖动工作正常,但排序失败.

这是我的JS小提琴:http: //jsfiddle.net/dmUKY/9/

drag'n drop和sortable函数共享该droppable:drop函数.排序元素时,该函数必须替换所选对象.

 drop: function (event, ui) {
    //alert($(this).parent().html());
    //alert($(ui.helper).attr('class'));
    var obj;
    if ($(ui.helper).hasClass('draggable')) {
        //alert('draggable');
      obj = $(ui.helper).clone();  
      obj.removeClass('draggable').addClass('editable')
      //obj.addClass('droppable');
      $(this).parent().append(obj);

    }


    //alert($(this).parent().html());
}
Run Code Online (Sandbox Code Playgroud)

我应该如何结合这两个功能?

Vai*_*ool 17

$("#sortable").sortable({
    revert: true,
    stop: function(event, ui) {
        if(!ui.item.data('tag') && !ui.item.data('handle')) {
            ui.item.data('tag', true);
            ui.item.fadeTo(400, 0.1);
        }
    }
});
$("#draggable").draggable({
    connectToSortable: '#sortable',
    helper: 'clone',
    revert: 'invalid'
});
$("ul, li").disableSelection();
Run Code Online (Sandbox Code Playgroud)

DEMO JSFIDDLE

我猜这就是你要找的!!


trr*_*rrm 4

将您的代码更改为这样应该可以解决问题:

obj.removeClass('draggable').addClass('editable').removeAttr('style');
//obj.addClass('droppable');
$(this).append(obj);
Run Code Online (Sandbox Code Playgroud)

检查小提琴:http://jsfiddle.net/dmUKY/11/