var iframe = document.createElement('iframe');
document.body.insertBefore(iframe, document.body.firstChild);
iframe.addEventListener('load', function () {
document.body.style.overflow = 'hidden'; //блокируем скролл исходной страницы
var iframeDoc = this.contentWindow.document;
iframeDoc.body.classList.add('modal');
iframeDoc.addEventListener('click', function (event) {
var event = event || window.event,
closeBtn = iframeDoc.getElementById('closeBtn'),
backBtn = iframeDoc.getElementById('backUrl');
if ((event.target == closeBtn) || (event.target == backBtn)) {
document.body.removeChild(iframe); //По кнопке закрытия удаляем айфрейм из DOM-дерева
document.body.removeAttribute('style'); //и разблокировываем исходную страницу
}
});
});
Подскажите, пожалуйста, что я делаю не так. В ФФ, опере, даже в 10 IE срабатывает закрытие айфрейма по кнопке, а в chrome не срабатывает.
Проблема решилась перевешиванием обработчиков клика на сами элементы.
var iframeDoc = this.contentWindow.document,
closeBtn = iframeDoc.getElementById('closeBtn'),
backBtn = iframeDoc.getElementById('backUrl');
iframeDoc.body.classList.add('modal');
closeBtn.addEventListener('click', closeModal);
backBtn.addEventListener('click', closeModal);
});
function closeModal() {
document.body.removeChild(iframe); //По кнопке закрытия удаляем айфрейм из DOM-дерева
document.body.removeAttribute('style'); //и разблокировываем исходную страницу
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Реализовал анимацию корзины на сайте, то есть по клику на товар, его картинка плавно движется к корзинеПроблема в том, что пришлось использовать...
Всем доброго дняЕсть полностью готовый скрипт на javascript, который выполняет определённые действия, после чего вылезает капча: