通过js设置rich:modalPanel中的top和left属性
Set top and left attribute in rich:modalPanel via js
我使用 RichFaces 的 rich:modalPanel
,我正在尝试设置 top
和 left
属性(定义 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()
});
我使用 RichFaces 的 rich:modalPanel
,我正在尝试设置 top
和 left
属性(定义 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()
});