Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   По клику аякс, по клику с ctrl переход? (https://javascript.ru/forum/events/51414-po-kliku-ayaks-po-kliku-s-ctrl-perekhod.html)

piraids 06.11.2014 11:57

По клику аякс, по клику с ctrl переход?
 
есть к примеру ссылка:
<a href="/url/adress/" id="link-1">Link</a>

по клику на нее у меня обновляется страница аяксом
$('#link-1').click(function(){
  $.ajax({ ...запрос на обновление страницы... });
  event.preventDefault();
});

как сделать чтобы при клике по ней с ctrl'ом происходил стандартный переход?

я останавливаю стандартный клик с помощью event.preventDefault(); , мне его получается надо убрать?

krasovsky 06.11.2014 12:50

Наслаждайся

<a id="myLink" href="/path/">link</a>


document.getElementById('myLink').addEventListener('click',function(e){
    e.preventDefault();
    console.log(e);//выведет в консоль объект ивента, в котором имеется атрибут ctrlKey,равный true или false
    return false;
})

piraids 06.11.2014 13:09

krasovsky,
благодарю!

danik.js 06.11.2014 17:23

Еще проверяй e.button == 0, чтобы клик по колесику игнорить (аналог ЛКМ + Ctrl)

kostyanet 06.11.2014 22:17

Цитата:

Сообщение от piraids
я останавливаю стандартный клик с помощью event.preventDefault(); , мне его получается надо убрать?

Это всегда получается взять событие в свои руки.

Кстати, в ФФ прикол. Я искал фокус, смотрел на эти ивенты в консоли и браузер значит сам себя материт. Вводит строку с перечислением пропертей, и тут же пишет что проперть Right его оскорбляет, что надо теперь юзать проперть ArrowRight. В кодах у меня вообще такого нет - голимые keyCode. Но вскоре он заколебался, или дошло - кнопки я продолжал нажимать, а самокритика пропала. :)


Часовой пояс GMT +3, время: 20:01.