Доброго дня! Скрипт работает везде, кроме IE. Помогите разобраться. Что ему не нравится?
const buttons = document.querySelectorAll(`button[data-modal-trigger]`);
for(let button of buttons) {
modalEvent(button);
}
function modalEvent(button) {
button.addEventListener('click', () => {
const trigger = button.getAttribute('data-modal-trigger');
const modal = document.querySelector(`[data-modal=${trigger}]`);
const contentWrapper = modal.querySelector('.content-wrapper');
const close = modal.querySelector('.close');
close.addEventListener('click', () => modal.classList.remove('open'));
modal.addEventListener('click', () => modal.classList.remove('open'));
contentWrapper.addEventListener('click', (e) => e.stopPropagation());
modal.classList.toggle('open');
});
}
Полный пример тут
Вот, что нашел из того, что не поддерживается в IE в вашем коде:
var
.Вот код переделанный:
const buttons = document.querySelectorAll('button[data-modal-trigger]');
for(let i = 0; i<buttons.length; i++) {
modalEvent(buttons[i]);
}
function modalEvent(button) {
button.addEventListener('click', function() {
const trigger = button.getAttribute('data-modal-trigger');
const modal = document.querySelector('[data-modal=' + trigger + ']');
const contentWrapper = modal.querySelector('.content-wrapper');
const close = modal.querySelector('.close');
close.addEventListener('click', function() {modal.classList.remove('open')});
modal.addEventListener('click', function() {modal.classList.remove('open')});
contentWrapper.addEventListener('click', function(e) {e.stopPropagation()});
modal.classList.toggle('open');
});
}
И полный код на jsfiddle: https://jsfiddle.net/wur8gnpe/4/
Правда там теперь некорректно работает анимация, но это надо смотреть поддержку css браузера.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть код такого плана, в поле "Тип вмешательства" при выборе ККГ должны открывать допполя, при выборе другого значения, скрываться, но что-то...
Пишу плагин для редактора TinyMceВ документации к написанию плагинов в примере используется метод editor
Я начал изучать JS и в самом начале есть проблема, пишу на notepad++ и слово write не меняет цвет (а должен!)Заранее спасибо