Можно ли сказать, был ли изменен DOM, и какую часть? - PullRequest
7 голосов
/ 24 марта 2010

Есть ли практические способы сказать, какая часть DOM была изменена, если вы знаете, что она будет изменена?

Я пишу плагин, который будет работать вместе с JavaScript, который я не написал. событие будет инициировано до изменения DOM, и одно событие будет запущено после изменения. Это моя работа, чтобы решить, что было изменено. возможно ли это, и если да, то какой наименее ужасный способ сделать это?

Ответы [ 5 ]

6 голосов
/ 25 марта 2010

В зависимости от необходимой вам поддержки браузера вы можете использовать события мутации DOM .

1 голос
/ 24 марта 2010

Если вы знаете, какой аспект элементов DOM необходимо изменить, существует возможность сохранить значение этого атрибута в узле .data () для каждого элемента при загрузке страницы, а затем сравнить после запуска сценария.

0 голосов
/ 17 января 2011

Это невозможно любым практическим способом

0 голосов
/ 25 марта 2010

С помощью jquery вы можете запустить: анимированный фильтр для поиска анимированных элементов, я не знаю, будет ли у вас такая большая задержка между событиями такого рода, но если основной триггер при начальном преобразовании запускается именно тогда, когда начинается преобразование Вы можете попытаться поймать: анимированный элемент и захватить начальное состояние перед завершением анимации, затем завершить захват и сравнить, это только подсказка, у меня нет демонстрации или способа воспроизвести вашу рабочую среду, но я надеюсь, что это руководство может дать вам идея.

0 голосов
/ 25 марта 2010

Вы также можете сделать хэш текста страницы (например, полную исходную строку) и сравнить его (при изменении) с текущим хешем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...