2012-03-18 76 views
0

好吧,所以我有一個正常的jQuery UI排序,我需要選擇我放入我的元素的div。我通常通過在收到的事件中使用ui.item.parent('div')來獲取此信息。如何選擇項目被拖入懸停,使用jQuery UI排序的div

但是,在變量與元素的發件人(從哪裏拖出)有關的重疊事件上,而不是它在其上懸停的內容。那麼,我該如何選擇放棄我的元素的位置。

一個例子,我有那只是打印父元素的偏移的時刻:

$(".connectedSortable").sortable({ 
    over:function(event,ui){ 

     console.log(ui.item.closest('div').offset()) 
}, 
connectWith: ".connectedSortable" 
}).disableSelection(); 

編輯:

我創建了一個非常簡單的例子來說明我在做什麼:

http://jsfiddle.net/2Zbwc/4/

基本上,當您從第一個表格拖動一行到下一個表格時,您會在控制檯中看到它的offset.left爲0。我需要新表的offset.left。

+0

你可以提供一個[DEMO](http://jsfiddle.net/),這樣我們就可以看到你正在使用的是什麼? – 2012-03-18 08:38:42

回答

3

您可以使用佔位符,然後選擇佔位符類的父代。

http://jsfiddle.net/BnZMA/

$(".sortable").sortable({ 
    connectWith: '.sortable', 
    helper: 'clone', 
    placeholder: "placeholder", 
    over:function(event,ui){ 
     console.log($('.placeholder').parent().attr('id')); 
    }, 
}); 
+0

感謝,似乎很好地工作,究竟佔位符究竟是什麼? – oracal 2012-03-18 09:09:09

+0

將可排序項目拖動到新位置時,其他項目將通過移位爲該項目留出空間,以允許它們之間有空白區域。將類傳遞到佔位符選項以將該空間設置爲可見。使用布爾型forcePlaceholderSize選項來設置佔位符上的尺寸。 (http://jqueryui.com/demos/sortable/#placeholder) – Alex 2012-03-18 09:10:39

+0

乾杯,正是我所需要的。 – oracal 2012-03-18 09:11:27