Oracle apex 更改内联弹出窗口的位置

Oracle apex 更改内联弹出窗口的位置,oracle-apex,Oracle Apex,我试图使用一个带有标注的内联弹出区域来显示多个文本字段 背景:内联弹出窗口由5x5个标记为“A1”到“E5”的按钮组成,用于风险评估。单击按钮应相应地将先前单击的文本框设置为“A1”、“A2”等 这一切都很好,但我无法在正确的位置(文本字段旁边)打开带有callout的内联弹出窗口 我可以将自定义属性设置为“data parent element=“#TextfieldName”,一次就可以了,但我想动态更改它 我尝试改用一个页面项(数据父元素=&P1_TEXTFIELDNAME。),并通过一个

我试图使用一个带有标注的内联弹出区域来显示多个文本字段

背景:内联弹出窗口由5x5个标记为“A1”到“E5”的按钮组成,用于风险评估。单击按钮应相应地将先前单击的文本框设置为“A1”、“A2”等

这一切都很好,但我无法在正确的位置(文本字段旁边)打开带有callout的内联弹出窗口

我可以将自定义属性设置为“data parent element=“#TextfieldName”,一次就可以了,但我想动态更改它

我尝试改用一个页面项(数据父元素=&P1_TEXTFIELDNAME。),并通过一个“设置值”操作来更改它。仍然没有“动态”行为。 我尝试通过javascript更改属性“data parent element”,检查页面时发现属性已更改,但行为/位置未更改


有没有关于如何在运行时更改内联弹出窗口位置的想法或建议?

我偶然发现了同样的问题,并设法找到了一个适合我的解决方案:

1.)为按钮提供唯一ID和公共类
2.)添加一个动态操作,该操作应通过单击具有公共类的任何元素来触发
3.)添加一个真正的操作“打开区域”,指示您的内联弹出区域
4.)使用下面的内容添加另一个真正的操作“执行JavaScript代码”。在本例中,内联弹出窗口的ID为“myPopup”。请注意,数据父元素属性也需要使用有效ID填充,尽管它不会被使用

    var parent = document.getElementById("myPopup").parentElement;
    var origin = document.getElementById(event.target.id).getBoundingClientRect();

    parent.style.left = origin.left +  "px";
    parent.style.top = origin.bottom + "px";

工作起来很有魅力。非常感谢你。