Stack Overflow на русском Asked on December 30, 2021
Как сделать плавный скролл к определенному блоку для динамически сгенерированного radio при его активации?
Для обычных, которые по-умолчанию заданы через HTML, работает прикрепленный код, но когда его генерирует JS, это не срабатывает.
(() => {
const handler = evt => {
if (evt.target.checked)
tabs.scrollIntoView({ block: 'start', behavior: 'smooth' });
};
const tabs = document.querySelector('.content');
for (let cbox of document.querySelectorAll('.downers'))
cbox.addEventListener('change', handler);
})();
Поставьте прослушку событий на обертку Ваших input'ов и проверяйте куда пришелся клик:
const handleClick = event => {
if (event.target.tagName.toLowerCase() === "input") {
// ... ваша логика
// например scroll до конкретного <input />
// if (event.target.checked) {
// event.target.scrollIntoView({ block: "start", behavior: "smooth" })
//}
console.log(event.target) // input на который пришелся клик
}
}
document.querySelector(".wrapper").addEventListener("click", handleClick, false)
Это даст Вам возможность прослушивать события в input'ах которые были добавлены динамически.
Answered by Vasily on December 30, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP