Есть ли какие-либо практические способы определить, какая часть DOM была изменена, если вы знаете, что она будет изменена?Можно ли определить, была ли DOM изменена и какая часть?
Я пишу плагин, который будет работать вместе с javascript, который я не писал. событие будет инициировано до изменения DOM, и после изменения произойдет одно событие. Моя задача - решить, что изменилось. возможно ли это, и если да, то какой наименее ужасный способ сделать это?
это интересный вопрос. Ничего хорошего, ни приличного способа. Моя первая идея заключалась в том, чтобы сделать копию всех объектов dom в вашем событии «до изменения», а затем в вашем событии «после изменения» сравните текущие объекты dom с тем, что вы сделали. Этот вариант правдоподобен, если у вас есть известный список объектов dom, которые можно изменить, и у вас есть ограниченное количество изменений, которые вы ожидаете. Даже если это уродливое решение и не рекомендовал бы его, но это первое, что пришло в голову. – Jay
Вы можете написать код, который будет вычислять агрегатное хеш-значение суб-DOM на каждом узле (в зависимости от того, что вам нужно в DOM). Важно, чтобы хэш на каждом узле являлся функцией узла * и * поддерева. Затем вы можете отслеживать изменения, сначала проверяя, изменились ли хэш-коды. – Pointy
Спасибо за ответы. – mkoryak