开发者

Ajax modal popup loads behind the activex control

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.


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.


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


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:

document.getElementById('activex').style.visibility = 'hidden';

and then when you close the popup show the ActiveX again:

document.getElementById('activex').style.visibility = 'visible';
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜