Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.10.2012, 19:42
Кандидат Javascript-наук
Отправить личное сообщение для zzzzzz Посмотреть профиль Найти все сообщения от zzzzzz
 
Регистрация: 25.09.2012
Сообщений: 111

если нажали на кнопку перейти по ссылке
$('body').keydown(function(eventObject){

  if(eventObject.which == "38")
  $("a.use").click();
});


eventObject.which - Код клавиши на которую нажали
38 - код стрелки вверх на клавиатуре(http://jquery.page2page.ru/index.php5/%D0%9A%D0%BE%D0%B4%D1%8B_%D1%81%D0%B8%D0%BC%D0%B2% D0%BE%D0%BB%D0%BE%D0%B2_%D0%B8_%D0%BA%D0%BB%D0%B0% D0%B2%D0%B8%D1%88)

если на странице нажали на стрелку вверх то перейти по ссылке с классом use

if - выполняется, проверял, а вот перехода нет
как заставить работать?

Последний раз редактировалось zzzzzz, 08.10.2012 в 19:47.
Ответить с цитированием
  #2 (permalink)  
Старый 08.10.2012, 19:43
Кандидат Javascript-наук
Отправить личное сообщение для zzzzzz Посмотреть профиль Найти все сообщения от zzzzzz
 
Регистрация: 25.09.2012
Сообщений: 111

если что не поняли, я могу подробней описать
Ответить с цитированием
  #3 (permalink)  
Старый 08.10.2012, 23:44
Аспирант
Отправить личное сообщение для Nubi Посмотреть профиль Найти все сообщения от Nubi
 
Регистрация: 06.08.2008
Сообщений: 43

zzzzzz,
if(eventObject.which == "38") {
 location.href = $("a.use").attr("href");
}
Ответить с цитированием
  #4 (permalink)  
Старый 08.10.2012, 23:59
Профессор
Отправить личное сообщение для Hoshinokoe Посмотреть профиль Найти все сообщения от Hoshinokoe
 
Регистрация: 08.01.2012
Сообщений: 253

zzzzzz,
Программный вызов события на линке не делает перехода по ней. Это ограничение связано с безопасностью в браузере.

Единственный вариант, это назначать location вручную.

window.location = $('a').attr('href');

Последний раз редактировалось Hoshinokoe, 09.10.2012 в 00:02.
Ответить с цитированием
  #5 (permalink)  
Старый 09.10.2012, 01:06
Кандидат Javascript-наук
Отправить личное сообщение для zzzzzz Посмотреть профиль Найти все сообщения от zzzzzz
 
Регистрация: 25.09.2012
Сообщений: 111

оба варианта работают, спасибо

Последний раз редактировалось zzzzzz, 09.10.2012 в 01:10.
Ответить с цитированием
  #6 (permalink)  
Старый 09.10.2012, 01:23
Кандидат Javascript-наук
Отправить личное сообщение для zzzzzz Посмотреть профиль Найти все сообщения от zzzzzz
 
Регистрация: 25.09.2012
Сообщений: 111

но у меня чуть другая задача.
меню из n количества ссылок при нажатии по которым аяксом подгружается нужная страницы.

как я понял то что вы описали осуществляет переход по ссылке которая указана в атрибуте хреф. но мне нужен не переход по ссылке а именно имитация нажатия на ссылку, как если б это сделал пользователь мышкой
Ответить с цитированием
  #7 (permalink)  
Старый 09.10.2012, 03:29
Профессор
Отправить личное сообщение для Hoshinokoe Посмотреть профиль Найти все сообщения от Hoshinokoe
 
Регистрация: 08.01.2012
Сообщений: 253

zzzzzz,
$("a.use").click();

имитирует клик, но перехода по ссылке не произойдет. При этом отработают все обработчики, которые установлены на это клик.

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

$('a.use').click(function () 
{ 
$.ajax({
  url: 'ajax/test.html',
  success: function(data) {
    $('.result').html(data);
    alert('Load was performed.');
  }
});
 });
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Работа] Два модальных окна на JQuery VictorM Работа 3 14.08.2012 23:09
Модуль для работы с модулями JSprog Ваши сайты и скрипты 29 02.09.2009 13:31
Как постоянно запускать одну и туже ссылку? Maxim Общие вопросы Javascript 28 27.02.2009 09:25