1
我一直在試圖允許x量的動態生成div盒使用JQuery拖放到彼此。爲什麼當我嘗試將它們放入對方時,我的所有JQuery拖放對象都消失了?
問題是,無論何時我試圖將其中一個拖入另一個盒子,我生成的每個盒子,無論是否參與該操作,都會消失。
這裏是代碼:
$('#btnOpen').click(function() { OnClientDroppedHandler(); });
function OnClientDroppedHandler() {
$('#divWorkSpace').append('<div class="divLoc"><p> I am a box. Try to Drag and Drop me into another box </p></div>');
$('.divLoc').resizable();
$('.divLoc').droppable({
accept: '.divLoc',
over: function() {
$('.divLoc').appendTo($(this));
$(this).animate({ 'border-width': '5px',
'border-color': '#0f0'
}, 500);
$('.divLoc').draggable('option', 'containment', $(this));
}
});
$('.divLoc').draggable({
containment: $('.divWorkSpace')
});
return false;
};
的CSS:
.divLoc
{
width:100px;
height:100px;
background-color: White;
border: 1px solid black;
z-index: 100;
}
標記:
<input id="btnOpen" type="button" value="Click to Open New Dialog" /> -- Generate at least two dialogs and try to drag and drop them into each other --
<div id="divWorkSpace" style="height: 500px; width: 700px; background-color: Gray;"></div>
欣賞的幫助
確實有道理。問題是我正在動態生成框......所以我的下一個問題是,我如何獲得我拖動的框的ID? –
你不需要。您可以使用參數的jQuery提供: http://api.jqueryui.com/droppable/#event-drop 重寫你的方法 過來:函數(事件,UI){$ (ui.draggable) .appendTo($(this)); ... } ui.draggable應該是拖動對話框的jQuery對象。 這應該可行,但我不確定自己是否寫得對,只是給了你一個想法。 順便說一句,你爲什麼使用'over',但不放棄? http://api.jqueryui.com/droppable/#event-drop –