通过js设置rich:modalPanel中的top和left属性

Set top and left attribute in rich:modalPanel via js

我使用 RichFaces 的 rich:modalPanel,我正在尝试设置 topleft 属性(定义 window 在屏幕上出现的位置) JavaScript。我正在尝试获取另一个元素的偏移量并使 window 出现在相同的偏移量中。至今未成功

我做了什么:

<rich:modalPanel top="document.getElementById('some_element').offset().top()"
left="document.getElementById('some_element').offset().left()">

但它不起作用! window 总是出现在左上角。
注意:当我提醒 document.getElementById('some_element').offset().left()document.getElementById('some_element').offset().top() 的结果时,它给了我正确的位置。

@top 和@left 需要一个字符串值,如果您将 JavaScript 放在那里,它将被视为一个字符串。

面板 JS API 中的 show 方法有两个参数 - 事件和选项,因此您可以这样做:

#{rich:component('panelId')}.show(null, {
    top: document.getElementById('some_element').offset().top(),
    left: document.getElementById('some_element').offset().left()
 });