Когда я создал огромное дерево DOM с помощью JS и когда я добавляю его в тело, страница перестает отвечать.
Есть ли способ управления оплавлением и перекрашиванием?
В этом Плункере
https://plnkr.co/edit/eJ7iTTV9HGT8Z9oOtopY?p=preview при нажатии Создать просто <p>
создается, а затем огромный вложенный <ul>
var p = document.createElement('p');
p.innerText = 'hello'
document.body.append(p);
addSchemaToBody();
Я понимаю, что addSchemaToBody()
ошеломляет, так есть ли способ контролировать рендеринг? Пусть <p>
будет добавлено быстро и <ul>
систематически, не блокируя взаимодействие со страницей. В более сложном случае я не мог использовать поля ввода, все было заморожено, пока браузер не закончил с <ul>
Мне удалось предотвратить полную блокировку, добавляя элементы через определенные промежутки времени, но это кажется хакерским.