JavaScript сравнивает два дерева DOM - PullRequest
1 голос
/ 25 мая 2010

Я хочу сравнить изменение узла DOM после запуска пользовательского события; но я не знаю, по какому элементу будет срабатывать пользователь, поэтому моя идея состоит в том, чтобы (1) сохранить дерево DOM перед событием и (2) сравнить сохраненное дерево с обновленным деревом DOM при возникновении события.

Мой вопрос (1) есть ли лучший способ? а также (2) если нет другого способа, каким был бы быстрый алгоритм сравнения двух деревьев DOM?

Ответы [ 2 ]

2 голосов
/ 25 мая 2010

Поскольку события всплывают, вы можете просто прикрепить прослушиватель событий к объекту window, который перехватывает все события, независимо от того, где они возникли. Вы можете проверить переданный event объект на event.target, чтобы увидеть, где он возник.

1 голос
/ 25 мая 2010

Зависит от того, насколько сложным является ожидаемое вами изменение, но одним из возможных «лучших» способов будет использование встроенных событий DOM . В частности, событие DOMSubtreeModified будет срабатывать всякий раз, когда изменяется часть дерева DOM, которую вы смотрите.

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