Ajax 模式弹出窗口加载在 activex 控件后面
在页面中,有一个 activex 控件以及一个按钮,其 onclick 会打开 ajax 模式弹出窗口。我面临的问题是,每当单击按钮时,ajax 弹出窗口就会在 activex 控件后面加载,因此它被隐藏。所以我根本无法使用该控件。 我还没有找到合适的解决方案。我尝试了一种解决方案,其中从 ajaxtoolkit 代码中删除了浏览器检查条件。但没有运气。我正在使用 Ajax 工具包版本 3.0.30512.1。请告诉我是否有任何解决方案可以解决此问题。
In a page there is an activex control as well as a button whose onclick opens an ajax modal popup. The problem i face is that whenever the button is clicked the ajax pop up loads behind the activex control and thus it is hidden.So I am not able to use that control at all.
I have not found a proper solution to this. I tried a solution where a browser check condition was removed from the ajaxtoolkit code. but no luck. Am using Ajax toolkit version 3.0.30512.1.let me know if there are any solutions to resolve this problem.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
任何将 DIV 或任何 HTML 元素置于 ActiveX 之上的努力都不会产生任何效果。即使 ActiveX 的 z-index 高于 HTML 元素,它也始终保持在顶部。原因在于资源管理器呈现其内容的方式。请参阅
http://support.microsoft.com/default.aspx? scid=kb;en-us;177378。
有两种类型的控件:有窗口元素和无窗口元素,它们在不同的平面上呈现。所有有窗口的元素都将自己绘制在所有无窗口元素的顶部,无论其容器的意愿如何。但是,窗口元素确实彼此遵循 z-index 属性,就像无窗口元素彼此遵循 z-index 属性一样。
所有无窗口元素都在同一 MSHTML 平面上呈现,而有窗口元素则在单独的 MSHTML 平面上绘制。您可以使用 z-index 操作同一平面上的元素,但不能与不同平面上的元素混合搭配。您可以重新排列每个平面上元素的 z 索引,但有窗口平面始终绘制在无窗口平面的顶部。
在大多数情况下,标签是窗口化的。这就是为什么它始终保持领先地位。
Any effort to bring a DIV or any HTML element on top of an ActiveX has no effect. An ActiveX stays always on top even if it has higher z-index than an HTML element. The reason is the way the Explorer renders its content. See
http://support.microsoft.com/default.aspx?scid=kb;en-us;177378.
There are two types of controls: Windowed and Windowless elements, and they are rendered on separate planes. All windowed elements paint themselves on top of all windowless elements, despite the wishes of their container. However, windowed elements do follow the z-index attribute with respect to each other, just as windowless elements follow the z-index attribute with respect to each other.
All windowless elements are rendered on the same MSHTML plane, and windowed elements draw on a separate MSHTML plane. You can use z-index to manipulate elements on the same plane, but not mix and match with elements in different planes. You can rearrange the z-indexing of the elements on each plane, but the windowed plane always draws on the top of the windowless plane.
The tag is, in most cases, windowed. That is why it always stays on top.
我没有任何 ActiveX 经验,但这可能是一个简单的 CSS Z-Index 定位问题。您是否确保控件的 Z-Index 低于模态弹出窗口的 Z-Index?
http://www.w3schools.com/css/pr_pos_z-index.asp
I don't have any experience of ActiveX, but this could be a simple CSS Z-Index positioning issue. Have you ensured that the Z-Index of your control is lower than that of the modal popup?
http://www.w3schools.com/css/pr_pos_z-index.asp
我不确定,但我认为问题出在 ActiveX 上,它总是显示在最上面。
您可以尝试在显示弹出窗口时隐藏 ActiveX:
然后当您关闭弹出窗口时再次显示 ActiveX:
I'm not sure but I think the problem is the ActiveX, which is always displayed at topmost.
You could try to hide the ActiveX when displaying the popup:
and then when you close the popup show the ActiveX again: