2012-03-18 80 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