0
我使用GWT PopupPanel在用戶單擊按鈕時在按鈕上方顯示一個彈出窗口。GWT PopupPanel不正確的彈出位置
我設置彈出窗口的位置和顯示,像這樣的:
panel.setPopupPosition(leftPos, topPos);
panel.show();
然而,當我檢查彈出窗口的頂部值就說明後,我看到它的位置比我賦予它略低。
問題可能是setPopupPosition改變了在傳遞的值:
// Account for the difference between absolute position and the
// body's positioning context.
left -= Document.get().getBodyOffsetLeft();
top -= Document.get().getBodyOffsetTop();
我怎樣才能確保GWT PopupPanel的位置正好是我給它的價值? setPopupPosition()
似乎確實是設置位置的唯一方式,但它對我通過的位置進行了一些操作(對我的用例來說不必要)。
您可以使用彈出的DOM元素的樣式直接訪問 - 例如PopupPanel.getElement()。getStyle()。setPropertyPx(「top」,topPos); –
啊,看到我試過了,它不起作用(彈出窗口出現在0,0),但關鍵是在調用show()後設置這些屬性。這適用於我,因爲在調用show()後設置位置時沒有看到彈出的「跳轉」,但我不知道是否有任何方法在調用show()之前設置位置而不使用'setPopupPosition()'? 隨意回答你的建議(一定要在調用show()後提及,我會接受! – OMGitzMidgar
我已經添加了答案。 –