Просмотр всех открытых событий на узле HTML - Javascript - PullRequest
3 голосов
/ 10 сентября 2010

Я все еще считаю себя новичком с javascript ... так что будьте нежны:)

Есть ли способ просмотреть всех открытых слушателей событий на странице и, возможно, увидеть какие-либо inifinte циклы, которые могут выполняться?

То, что происходит, страница, которую я пытаюсь отладить, работает нормально. Узлы добавляются на страницу динамически с помощью метода перетаскивания. Все работает хорошо, но со временем это становится все медленнее - то есть мышь начинает пропускать и все такое.

Я не знаю, происходит ли это из-за того, что javascript хранит вещи в памяти, а моя память израсходована, или из-за постоянной проверки элементов при перемещении мыши замедляет работу по мере добавления на страницу большего количества элементов.

Поэтому я подумал, что могу спросить то, что я считаю очевидным, может быть, накапливаются eventListeners, а я этого не понимаю, или, может быть, есть цикл inifinte, который не закрывается.

У меня есть firebug, и я чувствую, что посмотрел на все. Я поместил в циклы операторы console.debug, и все они, кажется, заканчиваются нормально.

Буду признателен за любые советы по отладке.

Ответы [ 2 ]

2 голосов
/ 10 сентября 2010

Я бы сказал, что нужно быть осторожным с утечками памяти, особенно в IE.Вот хороший ресурс для изучения Javascript: www.javascriptkit.com

В частности, вот несколько полезных статей: http://www.javascriptkit.com/jsref/events.shtml http://www.javascriptkit.com/javatutors/closuresleak/index.shtml

0 голосов
/ 10 сентября 2010

Вам нужен JavaScript-профилировщик. Google Chrome имеет встроенные профили ctrl-shift-j>. Также есть один доступный в firebug для firefox.

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