Модальное всплывающее окно Ajax загружается за контроль ActiveX - PullRequest
0 голосов
/ 04 августа 2010

На странице есть элемент управления activex, а также кнопка, щелчок которой открывает модальное всплывающее окно ajax. Проблема, с которой я сталкиваюсь, заключается в том, что всякий раз, когда нажимается кнопка, всплывающее окно ajax загружается за элемент управления activex и, таким образом, оно скрыто. Поэтому я вообще не могу использовать этот элемент управления. Я не нашел правильного решения для этого. Я попробовал решение, при котором условие проверки браузера было удалено из кода ajaxtoolkit. но не повезло. Я использую Ajax toolkit версии 3.0.30512.1. Позвольте мне знать, если есть какие-либо решения для решения этой проблемы.

Ответы [ 3 ]

1 голос
/ 30 сентября 2011

Любые попытки поместить DIV или любой элемент HTML поверх ActiveX не имеют никакого эффекта.ActiveX всегда остается на вершине, даже если у него более высокий z-индекс, чем у HTML-элемента.Причина в том, как Explorer отображает свой контент.См.

http://support.microsoft.com/default.aspx?scid=kb;en-us;177378.

Существует два типа элементов управления: оконные и безоконные элементы, и они отображаются в отдельных плоскостях.Все оконные элементы закрашивают себя поверх всех безоконных элементов, несмотря на пожелания их контейнера.Однако оконные элементы следуют атрибуту z-index по отношению друг к другу, так же как безоконные элементы следуют атрибуту z-index по отношению друг к другу.

Все безоконные элементы отображаются в одной плоскости MSHTMLи оконные элементы рисуют в отдельной плоскости MSHTML.Вы можете использовать z-index для управления элементами в одной плоскости, но не для смешивания и сопоставления с элементами в разных плоскостях.Вы можете изменить порядок z-индексации элементов в каждой плоскости, но плоскость с окнами всегда рисует верхнюю часть плоскости без окон.

В большинстве случаев тег является оконным.Вот почему он всегда остается на вершине.

0 голосов
/ 04 августа 2010

Я не уверен, но я думаю, что проблема в ActiveX, который всегда отображается сверху.

Вы можете попытаться скрыть ActiveX при отображении всплывающего окна:

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

а затем, когда вы закрываете всплывающее окно, снова показывает ActiveX:

document.getElementById('activex').style.visibility = 'visible';
0 голосов
/ 04 августа 2010

У меня нет опыта работы с ActiveX, но это может быть простая проблема позиционирования CSS Z-Index. Вы гарантировали, что Z-индекс вашего контроля ниже, чем у модального всплывающего окна?

http://www.w3schools.com/css/pr_pos_z-index.asp

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...