const uls = document.querySelectorAll('.third-block-flex__item__body ul');
for (let ul of uls) {
const button = Object.assign(document.createElement('button'), {
className: 'button open-modal',
textContent: 'Хочу этот пакет'
});
button.addEventListener('click', ВАШ_ОБРАБОТЧИК);
ul.after(button);
}
const box = document.querySelector('.box');
const debounce = (callback, delay) => {
let timeout = null;
return (...args) => {
clearTimeout(timeout);
timeout = setTimeout(callback, delay, ...args);
};
};
const update = () => {
const balloon = document.querySelector('[class$="balloon__content"]');
if (balloon !== null) {
box.textContent = balloon.textContent;
}
};
const debouncedUpdate = debounce(update, 300);
window.addEventListener('click', () => {
debouncedUpdate();
});
const box = document.querySelector('.box');
const observer = new MutationObserver(mutations => {
for (let mutation of mutations) {
if (mutation.target.className.includes('balloon__content')) {
box.textContent = mutation.target.textContent;
}
}
});
observer.observe(document.querySelector('ymaps'), {
childList: true,
attributes: false,
subtree: true
});
$('.scroll').click(function () {
$("nav ul").removeClass("showing");
});
.addEventListener
(документация), можно написать EventEmitter, но он тут не нужен, конечно, если Вы не хотите несколько обработчиков в разных частях кода. saveData(id, medicineName) {
let note = { id, medicineName }
let noteList = AsyncStorage.getItem('noteList');
let parsedNoteList = noteList ? JSON.parse(noteList) : [];
parsedNoteList.push(note);
AsyncStorage.setItem('noteList', JSON.stringify(parsedNoteList));
}
const createCard = ({ title, subTitle, src, poster }) => {
const template = document.createElement('section');
template.innerHTML = `
<div class="card" style="width: 16rem;">
<a href="#theModal" class="btn btn-link"
data-remote="${src}"
data-toggle="modal" data-target="#theModal">
<img src="${poster}" class="card-poster" alt="image">
</a>
<div class="card-body">
<h3 class="card-title">${title}</h3>
<p class="card-text">${subTitle}</p>
</div>
</div>
`;
return template.children[0];
};
document.body.append(createCard({
title: 'Сказка о Царе Салтане',
subTitle: 'Приключения отважного царевича Гвидона, прекрасной царевны-Лебедь и царя Салтана напомнят о том, что любовь, верности и сила духа всегда побеждают!',
src: 'http://ссылка на видео',
poster: 'img/sk-1.jpg'
}));
createCard
объект, на выходе получать уже HTML элемент и добавлять в DOM его. name
, иначе смысл какой делать type="radio"
? В событии формы - submit
можно уже что-то делать с выбранными значениями.<form>
<label>
<input type="radio" name="gender" value="male">
Мужской
</label>
<label>
<input type="radio" name="gender" value="female">
Женский
</label>
<button>Отправить</button>
</form>
const form = document.querySelector('form');
form.addEventListener('submit', event => {
event.preventDefault();
const data = new FormData(form);
alert(data.get('gender'));
});