Pagination ипользуя ctrl+[стрелка влево/вправо]

Привет.

Подскажите, пожалуйста, как сделать, чтобы листалка (paginator) срабатывала при нажатие ctrl+[стрелка влево/вправо] и соответственно, осуществлялся переходил на страницу вперёд/назад?

Понял, что нужно использовать:




$(document).keydown(function(e){

    if (e.keyCode == ... ) {

       // получить url  и сделать редирект

       return false;

    }

});

Но:

  1. какой код у сочитаний ctrl+left/right

  2. как получить url следующей страницы и предыдущей (и нужно понимать, когда таких страниц нет, чтобы не делать лишний редирект)?

Использую виджет CLinkPager


<?php

$this->widget('CLinkPager', array(

    'pages' => $pages,

    'header' => false,

    'nextPageLabel' => '&raquo;',

    'prevPageLabel' => '&laquo;',

))

?>

Спасибо!

Сначала задайте пагинатору свойство CLinkPager::id (в примере id="pagerID"). Далее используйте приведенный код:




$(document).ready(function(){

  $(document).focus();


  var isCtrl = false;


  function processRedirect(linkClass) {

  	var linkHolder = $("#pagerID li."+linkClass);

  	if ( !linkHolder.hasClass("hidden") ) {

  		window.location.replace( linkHolder.children('a').attr('href') );

  	}

  }


  $(document).keyup(function (e) {

  	if(e.which == 17) isCtrl=false;

  }).keydown(function (e) {

  	if(e.which == 17) isCtrl=true;

  	if(e.which == 37 && isCtrl == true) {

  		//run code for CTRL+Left arrow (Prev)

  		processRedirect("previous");

  		return false;

  	}

  	if(e.which == 39 && isCtrl == true) {

  		//run code for CTRL+Right arrow (Next)

  		processRedirect("next");

  		return false;

  	}

  });

});



Спасибо!

Только получается, что если использовать


window.location.replace( linkHolder.children('a').attr('href') );

то кнопка "назад" в браузере будет работать некорректно.

Попробовал вот так, но что-то не работает :(


  function processRedirect(linkClass) {

        var linkHolder = $("#PagerID li."+linkClass);

        if ( !linkHolder.hasClass("hidden") ) {

            //window.location.replace( linkHolder.children('a').attr('href') );

            $("#PagerID li."+linkClass+" a").trigger("click");

        }

  }




window.location = linkHolder.children('a').attr('href') ;



Вот так кнопка назад должна заработать :)

Можно еще jquery bbq подключить, и контент аякс запросом подгружать, но это сложнее в реализации.