Шаг 132.
Библиотека jQuery. Работа с таблицами. Разбивка на страницы с помощью JavaScript. Обработка кнопок выбора страниц (окончание)

    На этом шаге мы рассмотрим решение проблемы предыдущего шага.

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

       $('<span class="page-number"></span>').text(page + 1)
         .bind('click', {newPage: page}, function(event) {
           currentPage = event.data['newPage'];
           repaginate();
         }).appendTo($pager).addClass('clickable');

    Номер новой страницы передается обработчику через свойство data события. Вследствие этого номер страницы уходит от опасности попадания в замыкание, и его значение фиксируется в момент, когда выполняется подключение обработчика. Теперь ссылки в элементе выбора страниц работают правильно, вызывая появление разных страниц, как показано на рисунке 1.

Рис.1. После устранения проблемы с замыканиями выбор страниц происходит, как ожидалось

Полный текст этого примера можно взять здесь.

    На следующем шаге мы рассмотрим выделение номера текущей страницы.




Предыдущий шаг Содержание Следующий шаг