2013-01-07 51 views
0

我使用拖動與connectToSortable和克隆選項與此fiddle如何進入下降元素

var draggable_opts = { 
     connectToSortable: ".sph-callout-portlet", 
     helper: "clone", 
     opacity: 0.75, 
     revert: 'invalid', 
     stop: function(event, ui) { 
      // this seems to only access the original item not the clone 
     } 
    }; 

$(function() { 
    $(".sph-callout-portlet").sortable({ 
     opacity: 0.75, 
     placeholder: "ui-state-highlight", 
    }).disableSelection(); 

    $("#sph-callout-portlet-avail li").draggable(draggable_opts); 

}); 

當我把元,我想它被投進區域的ID或者至少是元素本身。現在,根據文檔draggable + connectToSortable + clone使用droppable,但我不能看到一種方法來獲取被丟棄的元素。

(上面的代碼最初發佈於question有不同的問題)

回答

1

來獲取它被丟棄的元素,你可以這樣做:

$(".sph-callout-portlet").sortable({ 
    opacity: 0.75, 
    placeholder: "ui-state-highlight", 
    receive: function(event, ui) { 
    console.log($(this).data().sortable.element); 
    } 
}).disableSelection(); 
+0

到目前爲止,我得到這個'怪物':'console.log($(this).data()。sortable.element.context.id);'給我父母的ID!這是有道理的還是有更好的方法? (畢竟它工作) – Gazzer

+0

@Gazzer可能有更好的方法,我不知道,但這似乎工作沒有任何問題.. –

0

您需要實例您可放開領域droppable

$(area_selector).droppable({ 
    drop: function (event, ui) { 
     var $area = $(this); // The droppable 
     var $draggable = ui.draggable; // The draggable 
    } 
}); 
+0

我試過類似的東西,但沒有得到它的工作。你能在上面的代碼中關於area_selector具體嗎? – Gazzer

0

試試這個

$("#sph-callout-portlet-avail li").droppable({ 
    drop: function (event, ui) { 
     console.log(ui.draggable.text()); 
    } 
}); 

fiddle這裏

+0

這將得到文本,但不是元素本身。所以我無法得到元素被放棄的地方。 – Gazzer

相關問題