Drop down menu 解构页面滚动上的XPages下拉按钮菜单

Drop down menu 解构页面滚动上的XPages下拉按钮菜单,drop-down-menu,scroll,xpages,xsp,Drop Down Menu,Scroll,Xpages,Xsp,我使用xpages扩展库在导航中生成下拉菜单,代码如下: <xe:dropDownButton disableTheme="true" styleClass="menuButton"> <xe:this.treeNodes> <xe:basicContainerNode styleClass="menuTopLevel"> <xe:this.children>

我使用xpages扩展库在导航中生成下拉菜单,代码如下:

<xe:dropDownButton disableTheme="true" styleClass="menuButton">
        <xe:this.treeNodes>
            <xe:basicContainerNode styleClass="menuTopLevel">
                <xe:this.children>
                    <xe:pageTreeNode label="Create New" page="NewInspection.xsp"
                        styleClass="menuItemSub1">
                    </xe:pageTreeNode>
                    <xe:pageTreeNode label="Reports" page="View.xsp"
                        styleClass="menuItemSub1">
                    </xe:pageTreeNode>
                </xe:this.children>
            </xe:basicContainerNode>
        </xe:this.treeNodes>
    </xe:dropDownButton>


我遇到的问题是,当用户在一个可滚动的页面上(也就是说,页面的高度超过了内容区域的高度),并且他们滚动页面时,菜单会停留在绘制页面的位置(如果打开的话),而不会随页面内容滚动。我正在寻找一种方法来解构任何/所有打开的菜单,如果页面滚动,但我在XPages中没有任何运气。有人遇到过类似的情况吗?

我找到了解决这个问题的办法。利用一个代码库来确定我何时在iPad上,我加载了一个函数,该函数添加了一个事件,该事件使用Dojo将onscroll事件绑定到外部窗体,而不是窗口本身。出于某种原因,我不得不将其嵌入导航自定义控件的脚本块中,如果我将其放在其他位置,它将不会附加。如果将来有人需要,下面是代码

dojo.ready( function() {
var object = dojo.byId('view:_id1')
//console.log(object);
dojo.connect(object, 'onscroll', this, function(event) {
    // console.log('scroll');
        var object1 = dojo.byId('#{id:adminDropDown}_ab_0_dropdown')
        if (object1 != null) {
            dojo.style(object1, "display", "none")
        }
        var object1 = dojo.byId('#{id:insDropDown}_ab_0_dropdown')
        if (object1 != null) {
            dojo.style(object1, "display", "none")
        }
        var object1 = dojo.byId('#{id:emDropDown}_ab_0_dropdown')
        if (object1 != null) {
            dojo.style(object1, "display", "none")
        }
        var object1 = dojo.byId('widget_view:_id1:DateEntry_dropdown')
        if (object1 != null) {
            dojo.style(object1, "display", "none")
        }
    });

第一个问题是您是否在使用应用程序布局?如果是,此菜单是在菜单栏上还是在位置栏上?我认为菜单栏会滚动,但位置栏会保持不变。我没有使用应用程序布局。我正试图利用这些控件的自由形式,因为这个系统是从我们内部设计团队的html改编而来的。基本上用XPages中的等效结构替换html。元素本身就在一个xe:listInline元素的内部,而元素本身就在一个面板中。我刚刚测试过,可以确认,如果与applicationLayout一起使用dropDownButton,情况并非如此。仅供参考。是否有替代使用applicationLayout的方法?我不想依赖于OneUI系统,我更愿意以更方便我们的方法使用这些控件。