Сообщение от ArtiOnMoon
|
И столкнулся с следующей проблемой. Изредка кнопка не работает. Наблюдается корреляция с количеством кнопок. Примерно это выглядит вот так
|
Я заметил, что у вас (в видео подглядел) мой скрипт обернут в DOMContentLoaded, это не нужно. Также проследите, чтобы только
один раз этот скрипт был вставлен на страницу. (Если у вас генерируется шаблон на сервере, то вы могли это упустить) Элементов может быть сколько угодно, но скрипт должен быть только один. Чтобы не путаться вынесите этот скрипт в <head>
Скрипт должен быть только
один на странице! (лучше в <head>)
<script>
addEventListener("click", function(event) {
if (!event.target.matches(".bab")) return;
const box = event.target.nextElementSibling;
box.hidden ^= true;
});
</script>
Элементов, которыми он будет управлять может быть много (идут где-то в <body>)
<button class="bab">Кнопка</button>
<div class="box" hidden> Содержимое </div>
<button class="bab">Кнопка</button>
<div class="box" hidden> Содержимое 2</div>
Если у вас скрипт добавлен два раза, то при нажатии на кнопку первый откроет содержимое (поскольку оно было скрыто), а второй его тут же закроет (поскольку оно на этот момент было открыто). В итоге это будет выглядеть как будто не открылось.