我正在使用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>
我遇到的问题是,当用户在可滚动的页面上时(也就是说,页面的高度超过内容区域的高度),并且他们滚动页面,菜单保持不变它被绘制的位置,如果它是打开的,并且不与页面内容一起滚动。如果页面滚动,我正在寻找解构任何/所有打开菜单的方法,但我在XPage中没有任何运气。有没有人遇到过类似的东西?
答案 0 :(得分:0)
我能够找到这个解决方案。利用代码库来确定我在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")
}
});