所以我正在开发这个应用程序,我希望人们能够将项目从一个表数据拖到另一个表数据,该数据必须包含在父表行中。
但每当我拖动它时,它似乎会粘在容器上,不包括任何占位符的高度。
自己试试:http: //jsfiddle.net/2wy8R/
知道如何让它选择父母的父母吗?那么,我怎样才能让占位符计数呢?
问候
.
更新:问题的 YouTube 视频http://youtu.be/PMXcQvJmRGw
所以我正在开发这个应用程序,我希望人们能够将项目从一个表数据拖到另一个表数据,该数据必须包含在父表行中。
但每当我拖动它时,它似乎会粘在容器上,不包括任何占位符的高度。
自己试试:http: //jsfiddle.net/2wy8R/
知道如何让它选择父母的父母吗?那么,我怎样才能让占位符计数呢?
问候
.
更新:问题的 YouTube 视频http://youtu.be/PMXcQvJmRGw
好的,给你。覆盖默认包含,因为您的方案似乎有问题。让我知道这是否不是一个好主意,但它似乎有效:
$('#first, #second').sortable({
connectWith: '.sortable',
placeholder: 'placeholder',
start: function(event, ui) {
ui.placeholder.height(ui.item.height() - 4);
var p = $(ui.helper);
var tr = p.closest("tr");
$(document).mousemove(function(e) {
var pOffset = p.offset();
var trOffset = tr.offset();
if (pOffset.left < trOffset.left) {
p.css({left: trOffset.left});
}
if (pOffset.left + p.width() > trOffset.left + tr.width()) {
p.css({left: trOffset.left + tr.width() - p.width()});
}
if (pOffset.top < trOffset.top) {
p.css({top: trOffset.top});
}
if (pOffset.top + p.height() > trOffset.top + tr.height()) {
p.css({top: trOffset.top + tr.height() - p.height()});
}
});
}
}).disableSelection();
不过要小心,因为这会不断将 mousemove 事件添加到文档中。您可能希望在绑定之前取消绑定 mousemove ...