2011-03-17 82 views
1

如果我有一个jQuery拖动对象jQuery可拖动仍然可以放空 - 我该如何阻止它?

$('#drag-me').draggable({ 
    helper: 'clone', 
    connectToSortable: '#sortable' 
}); 

和连接排序

$('#sortable').sortable({ 
    receive: performMagic 
}); 

我不能阻止这种拖动掉落在空排序。

可排序本身有一个选项,但是当dropOnEmpty,其中,当设置为false,防止您掉落的东西,排序到一个空的排序;但是Draggable没有这样的选项。

我尝试这样做:

$('#sortable').sortable({ 
    start: function(e, ui) { 
    if (ui.item[0].nodeName == 'IMG') { 
     $(this).sortable('cancel') 
    } 
    } 
}); 

在我的情况#拖我的元素是一个形象,但可排序的元素都没有。 performMagic函数已成功将图像转换为可排序元素的TBODY元素。但结果不一致;有时它会成功取消操作,但有时会在其他地方中断。

问题是,我在正确的轨道上吗?这是防止Draggable被拖放到空链接的Sortable上的唯一方法吗?有没有办法可以劫持现有的Sortable-to-Sortable行为?

TIA 铝

回答

0

可以检查排序是否在receive事件是空的?例如:

$('#sortable').sortable({ 
    receive: function(event, ui) { 
    if ($('#sortable').children().length > 0) { 
     // PerformMagic... 
    } 
    } 
}); 
相关问题