Что делает связывание медленным? - PullRequest
5 голосов
/ 08 декабря 2010

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

Ответ, вероятно, оба, но в какой степени?

Кроме того, я бы предположил, что события наведения мыши дороже, чем события щелчка, так как их нужно проверять чаще. Правильно?

Ответы [ 2 ]

2 голосов
/ 08 декабря 2010

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

Чем больше обработчиков событий на странице, тем длиннее очередь событий , тем медленнее пользовательский интерфейс.

@ Хуан прекрасно суммирует делегирование событий в одном предложении в своем ответе в качестве альтернативы привязке событийко многим дочерним элементам.

1 голос
/ 08 декабря 2010

Насколько я заметил, чем больше слушателей вы добавляете, тем медленнее будет пользовательский интерфейс.Делегирование событий использует меньше памяти;вместо слушателя для каждого дочернего узла у вас есть один, более умный обработчик в родительском элементе.Меньше памяти, меньше подключаемых и отключаемых обработчиков.

События при наведении курсора не обязательно более дорогие, это не дополнительная память, просто ваш обработчик запускается очень часто, поэтому вам нужно убедиться, что это светлый код

...