#javascript #html #event-bubbling
#javascript #HTML #событие-пузырение
Вопрос:
Я хочу измерить, выгоднее ли вызывать e.stopPropagation()
в те моменты, когда мне больше не нужно распространять событие (например, почти в 100% случаев), или это приведет к ненужным накладным расходам, которые сводят на нет любую выгоду от остановки распространения до такой степени, что на самом деле выгоднее ВООБЩЕ НЕ вызывать e.stopPropagation()
?
В принципе, что меня интересует, как бы я начал измерять такого рода вещи?
Ответ №1:
Если вы не перехватываете / обрабатываете это событие на более высоком уровне, это не имеет значения, останавливаете вы распространение или нет.
Комментарии:
1. Привет, спасибо за помощь. Кстати, я знаю, что не имеет значения, останавливаю я распространение или нет, однако, если у меня очень длинная «цепочка» dom, будет ли полезно вызвать e.stopPropogation, чтобы «уменьшить нагрузку на браузер»?
2. Если у вас есть такая «длинная» цепочка dom, вы почувствуете улучшения производительности при рендеринге в браузере, и они будут намного больше, чем что-либо еще.
3. Я знаю, я имею в виду это как теоретический вопрос. будут ли браузеры уже оптимизировать его, или было бы хорошей практикой выполнять stopPropogation каждый раз, когда мне не нужно его распространять (что составляет 99,9% времени)
Ответ №2:
Существует инструментальный вызов dynatrace Ajax Edition, который предоставляет вам довольно богатый инструментарий для измерения производительности. Вы можете проверить это по адресу: http://ajax.dynatrace.com/ajax/en / Включены показатели загрузки, показатели на основе событий, представление производительности событий на временной шкале и многое другое. Работает с IE и FF.