this tutorial на основе (и здесь живет demo)querySelectorAll функции поживет альтернативу
Попытки iachieve этой функциональности в моем проекте. Как вы видите,
<button class="md-trigger" data-modal="modal-16">Blur</button>
триггеры модальные. Проблема в том, что в моем проекте эта кнопка является результатом ajax и не вызывает модальность.
Поэтому необходимо внести некоторые изменения на modalEffects.js
(размещен код ниже).
Но не может понять, что нужно изменить?
var ModalEffects = (function() {
function init() {
var overlay = document.querySelector('.md-overlay');
[].slice.call(document.querySelectorAll('.md-trigger')).forEach(function (el, i) {
var modal = document.querySelector('#' + el.getAttribute('data-modal')),
close = modal.querySelector('.md-close');
function removeModal(hasPerspective) {
classie.remove(modal, 'md-show');
if (hasPerspective) {
classie.remove(document.documentElement, 'md-perspective');
}
}
function removeModalHandler() {
removeModal(classie.has(el, 'md-setperspective'));
}
el.addEventListener('click', function (ev) {
classie.add(modal, 'md-show');
overlay.removeEventListener('click', removeModalHandler);
overlay.addEventListener('click', removeModalHandler);
if (classie.has(el, 'md-setperspective')) {
setTimeout(function() {
classie.add(document.documentElement, 'md-perspective');
}, 25);
}
});
close.addEventListener('click', function (ev) {
ev.stopPropagation();
removeModalHandler();
});
});
}
init();
})();
'querySelectorAll' не имеет живой альтернативы, как и любой другой метод, который получает элементы DOM, он получает все, что есть, а не то, что может быть в будущем? Делегирование событий - это еще что-то! – adeneo
@adeneo, что вы предлагаете? – heron
Зависит от того, что вы действительно пытаетесь сделать? – adeneo