nitrovatter, вы, это поняли по DOM'у который который сгенерировался на js и вы увидели готовый DOM в консоли разработчика? Вам по факту нужны только данные. Новый DOM можно генерировать на js, и просто подставлять данные из json, которые пришли с сервера. Зачем вам стейт на сервере? Вы запрашивайте запрашивайте пачку json с данными, запоминайте ее как-то на сервере и при последующем обращении, отдайте новую пачку данных в json. Парсити его на клиенте и подсовывайте в html, который еще внутри js. После, вствляйте ваш html в DOM. Когда открывайте консольно разработчика, видите готовый html. Дальше иде работа с событиями. У ВК, это скролл. Когда до конца страницы остается N колличество px, вк делает запрос на сервер и забирает json, дальше все как я описывал выше. Вы смотрите в коносль при скроле и видете как подсовается готовый html, но сформирован он был первоначально в js
Anton fon Faust, вы не поняли)
У меня при клики, меняется DOM, создается новое окно, в этом окне может быть кнопка, на которую нужно повесить событие. Мне надо быть увереным в том, что новый DOM создан и с ним можно работать, чтобы было куда событие вешать. Про всплытие и делегирование, я знаю) Оно используется для того, чтобы опредлить где кликнули, и что надо открыть.
Внутри окна может быть не одна кнопка, а несколько и на каждую нужно повесить свое событие, но делать это, пока нет DOM'a, нельзя
Stalker_RED, клик только один может быть, как и срабатывание MutationObserver может произойти лишь единожды.
По клику на кнопку, меняется DOM, MutationObserver срабатывает.
Я пишу библиотку для создания popup окон.
Один клик = одно срабатывание.
Более одного клика быть не может
Дмитрий Тарасов, да, было бы не плохо)
Есть проблемы, которые я пока что не могу решить.
@leonardo5878 - telegram https://vk.com/id37884840
Напиши куда нибудь, пообщаемся
Я как раз пишу библиотеку для таких вещей. https://github.com/Leo5878/omw
Вот. Можно посмотреть код, как, что реализовано. Api есть. Сейчас пишу вторую версию, в который исправлены ошибки и улучшена работа. Написано все на нативном js. Я думаю вам поможет она
Не могли бы вы написать псевдо код, который бы решал мою проблему. Для большей ясности, а то я пока не очень понимаю, как с промисами можно решить данную проблему
Сергей Герасимов, after работает, частично. Похожего эффекта я уже достигал, но без него. Проблема теперь в том, что click не работает. Потому что окно как будто стало больше, а на нем игнориурется клик. Такой же эффект происходит, если делать отступ с помощью padding в chrome. Если стоит margin, то все хорошо, но опять же, в chrome.
Вот как firefox видит обычный margin сверху, с ним как раз все в порядке
Так он видит margin от after. Из-за чего не работает клик. Так как для js, это все продолжение окна, а не той затемненной части, с который ему можно работать. Обычно так firefox подсвечивает padding