Page 50 - jQuery для начинающих
P. 50
Оптимизация
Неявным бонусом от использования «живых» событий можно считать возможность
оптимизации, о «подходящих» случаях я и расскажу.
Случай первый, банальный – представьте себе таблицу на тысячу строк да десяток столбцов,
а теперь попытайтесь подсчитать, сколько памяти скушают обработчики события click для
каждой ячейки? Вот-вот, стоит это переписать в один обработчик:
$('table').on('click', 'td', function() { /* ... */ }
Случай второй, надуманный – нам необходимо логировать действия пользователя на
странице, т.е. отслеживать клики по бессчётному количеству объектов:
$('body').on('click', '*', function() {
console.info("Click on "+this.tagName);
});
Пример работы данного «надуманного» варианта можно посмотреть на странице
events.optimization.html
Touch события
Смартфоны с большим сенсорным экраном — это уже норма жизни, и любому web-
разработчику рано или поздно потребуется разрабатывать интерфейсы с поддержкой
«touch» событий. На этот случай в JavaScript'е предусмотрены следующие события:
touchstart — событие схоже с mousedown, происходит при касании пальцем экрана
touchend — убираем палец с экрана, ака mouseup
touchmove — водим пальцем по экрану — mousemove
touchcancel — странное событие, отмена touch до того, как палец был убран
О том как с ними работать, можно подчерпнуть из статьи Touching and Gesturing on iPhone,
Android, and More (хоть рассказ там и о Dojo Toolkit). Для обработки touch событий с
использованием jQuery лучше всего использовать jQuery Mobile.
50
www.trk.kg