если нажали на кнопку перейти по ссылке
$('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,
if(eventObject.which == "38") { location.href = $("a.use").attr("href"); } |
zzzzzz,
Программный вызов события на линке не делает перехода по ней. Это ограничение связано с безопасностью в браузере. Единственный вариант, это назначать location вручную. window.location = $('a').attr('href'); |
оба варианта работают, спасибо
|
но у меня чуть другая задача.
меню из n количества ссылок при нажатии по которым аяксом подгружается нужная страницы. как я понял то что вы описали осуществляет переход по ссылке которая указана в атрибуте хреф. но мне нужен не переход по ссылке а именно имитация нажатия на ссылку, как если б это сделал пользователь мышкой |
zzzzzz,
$("a.use").click(); имитирует клик, но перехода по ссылке не произойдет. При этом отработают все обработчики, которые установлены на это клик. Ссылка не умеет сама подгружать данные аяксом, можно добавить обработчик который будет подгружать. $('a.use').click(function () { $.ajax({ url: 'ajax/test.html', success: function(data) { $('.result').html(data); alert('Load was performed.'); } }); }); |
Часовой пояс GMT +3, время: 02:46. |