IE8上的Primefaces 3.1覆盖面板故障

IE8上的Primefaces 3.1覆盖面板故障,primefaces,overlay,Primefaces,Overlay,这个问题以前在Primefaces论坛上发布过,我没有收到任何答案 我正在尝试PrimeFaces3.1,因为我需要覆盖面板功能。 不幸的是,在我的InternetExplorer8(ie8)中,下面这个非常简单的覆盖面板从来没有显示过,而在Firefox5.x上它工作得非常好。 html代码中似乎与Ie8问题直接相关的一些要点如下: -页面不需要垂直滚动条(如果页面有一个滚动条,则显示覆盖面板) -覆板高度是固定的 <h:body> <div style="height: 3

这个问题以前在Primefaces论坛上发布过,我没有收到任何答案

我正在尝试PrimeFaces3.1,因为我需要覆盖面板功能。 不幸的是,在我的InternetExplorer8(ie8)中,下面这个非常简单的覆盖面板从来没有显示过,而在Firefox5.x上它工作得非常好。 html代码中似乎与Ie8问题直接相关的一些要点如下: -页面不需要垂直滚动条(如果页面有一个滚动条,则显示覆盖面板) -覆板高度是固定的

<h:body>
<div style="height: 300px"></div>
<h:form>
<p:commandLink id="showAllUserList" value="Utenti online" />
<p:overlayPanel for="showAllUserList" my="right bottom" at="right top" dynamic="true"
style="width: 300px; height: 500px; border: 1px solid red; overflow-y: scroll" >
He who rules the skies rules the ground
<br/>
Monti kicks ass
</p:overlayPanel>
</h:form>
</h:body>

统治天空的人统治大地

蒙蒂踢屁股
如果我不能很快找到解决办法,我将不得不自己实施一些措施

谢谢
Filippo

您可以尝试将覆盖面板的
appendToBody
设置为
true
。在某些情况下,这可能会有所帮助,但老实说,我认为您的页面足够简单,不会产生任何影响。

检查您的样式是否有
溢出:隐藏
(也包括
.ui overlypanel
)的子元素),将溢出:可见与固定大小结合使用(正如您已经知道的)我能够解决这个问题。

在关闭h:body标记之前放置以下Javascript代码

<script type="text/javascript">
 if ( $.browser.msie) {
   if(parseInt($.browser.version, 10) === 8){
      var overlayPan = $("div.ui-overlaypanel");
      $(overlayPan).css('position','fixed');
    }
  }
</script>

如果($.browser.msie){
if(parseInt($.browser.version,10)==8){
var overlayPan=$(“div.ui-overlaypanel”);
$(overlapan.css('position','fixed');
}
}

目前,我在IE8上遇到了同样的问题-当覆盖显示时(鼠标悬停效果),我的页面会显示一个滚动条。如果我更改浏览器窗口的大小,则会显示覆盖。。。