Оптимизация

Неявным бонусом от использования «живых» событий можно считать возможность оптимизации. О «подходящих» случаях я и расскажу.

Случай первый, банальный – представьте себе таблицу на тысячу строк да десяток столбцов, а теперь попытайтесь подсчитать, сколько памяти скушают обработчики события «click» для каждой ячейки?

$("table td").on("click", function() { 
  /* ... */
});

Вот и я теряюсь в догадках. Но зато точно знаю, как стоит его переписать для экономии памяти и времени:

$("table").on("click", "td", function() { 
  /* ... */
});

Случай второй, надуманный – необходимо записывать действия пользователя на странице, т.е. отслеживать клики по бессчётному количеству объектов:

$("body").on("click", "*", function() {
    console.info("Click on "+this.tagName);
});

Для демонстрации работы данного «надуманного» варианта откройте web-консоль разработчика (обычно это F12), и кликните мышкой по элементам:

Попробуйте объяснить суть происходящего.

results matching ""

    No results matching ""