0
我正在使用gwt和gwt-dnd(一个很棒的拖放库)。确定重叠元素顺序
我有一个与另一个重叠的dropTarget(一个div),并且该库为下拉操作选择一个。 其原因是,在的choise与以下标准完成:
确定哪个DropController表示位于所提供的位置
(x, y)
最深DOM后裔 放置目标。
这是正确的降DropTargets,但不是这样的层次结构:
<body>
<div id="a">
<div id="b">
<div id="c">
<div id="DropTarget_D"></div>
</div>
</div>
</div>
<div id="1" style="position:absolute; z-index: 1; top:0; left:0">
<div id="DropTarget_2"></div>
</div>
</body>
正如你可以从代码中看到(在帖子的末尾),在这种情况下DropTarget_C被使用(因为它是“最深”的),即使DropTarget_2显示在上面。
我怎么知道,给出两个组件,哪一个是最顶层的?
这里的代码,使的choise:
private int compareElement(Element myElement, Element otherElement) {
if (myElement == otherElement) {
return 0;
} else if (DOM.isOrHasChild(myElement, otherElement)) {
return -1;
} else if (DOM.isOrHasChild(otherElement, myElement)) {
return 1;
} else {
// check parent ensuring global candidate sorting is correct
Element myParentElement = myElement.getParentElement().cast();
Element otherParentElement = otherElement.getParentElement().cast();
if (myParentElement != null && otherParentElement != null) {
return compareElement(myParentElement, otherParentElement);
}
return 0;
}
}
的DropTarget处于从有序列表,其使用该功能被勒令采摘。 如果列表中只包含DropTarget_D和DropTarget_2无一不符合条件,第一个被挑(即使它是由DropTarget_2覆盖)