Навигация по клавиатуре jQuery - вернитесь на страницу вперед и назад с левой и правой стороны - PullRequest
0 голосов
/ 09 октября 2011

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

html ...

<a href="/page-link-prev" class="prev button">&lt; Prev</a>
<a href="/page-link-next" class="next button">Next &gt;</a> 

Некоторый jquery, который я обнаружил, регистрирует нажатия клавиш, но не меняетURL, очевидно, просто показывает предупреждение.

$(function() {
  $(document).keyup(function(e) {
    switch(e.keyCode) {
      case 37 : alert('You pressed Left'); break;
      case 39 : alert('You pressed Right'); break;
    }
  });
});

Ответы [ 2 ]

2 голосов
/ 09 октября 2011

Вы можете использовать .load() для загрузки URL-адреса на часть страницы.

.load (url, [data,] [complete (responseText, textStatus, XMLHttpRequest)])

Загрузить данные с сервера и поместить возвращенный HTML в соответствующий элемент.

Я предполагаю, что у вас есть конкретный div, который вы хотите обновить содержимое страницы w, и вы не хотите обновлять всю страницу

$(function() {
  $(document).keyup(function(e) {
    switch(e.keyCode) {
      case 37 : $('#page').load($(".prev").attr("href")); break;
      case 39 : $('#page').load($(".next").attr("href")); break;
    }
  });
});

Или, если вы хотите обновить всю страницу, вы можете использовать window.location

При изменении свойства объекта местоположения документ будет загружен с использованием URL-адреса, как если бы window.location.assign () было вызывается с измененным URL.

$(function() {
  $(document).keyup(function(e) {
    switch(e.keyCode) {
      case 37 : window.location = $('.prev').attr('href'); break;
      case 39 : window.location = $('.next').attr('href'); break;
    }
  });
});

Вы можете заменить #page элементом, который вы обновляете.

1 голос
/ 09 октября 2011

Я думаю, вы должны использовать свойство location объекта window следующим образом:

$(function() {
   $(document).keyup(function(e) {
    switch(e.keyCode) {
      case 37 :
        window.location="/page-link-prev";
      break;
      case 37 :
        window.location="/page-link-next";
      break;
    }
  });
});

Или вы можете вызвать событие click для объекта jQuery вашего якоря.

...