|
Максим Никитин
1 ноября 2010 |
|
| Задача. | Разрешить кликать по ссылкам с зажатыми Ctrl, Alt, Shift и Command без вреда для JavaScript. |
||
В далеком href нужно вписать путь до увеличенной картинки, чтобы и они могли ее увидеть.
Я прошелся по любимым сайтам в целях покликать по псевдоссылкам для логина или галереям. Во всех случаях разработчики в JavaScript запрещают переход по ссылке с помощью Event.preventDefault() или return false, который в jQuery работает как Event.stopPropagation() и Event.preventDefault() одновременно. Эти строчки не дают пользователям с включенной поддержкой JavaScript кликнуть по ссылке в сочетании с системной кнопкой Ctrl, Alt, Shift или Command, чтобы открыть страницу в новой вкладке или скачать одним кликом большое изображение.
Разрешить пользователям клики с системными кнопками можно без вреда для скриптов. Для этого нужно не вызывать Event.preventDefault() когда зажат Ctrl, Alt, Shift или Command. В примере описана функция для jQuery, которая выполняет Event.preventDefault() только когда не зажата системная кнопка. То есть, чтобы получить необходимый результат, нужно в функцию первой строчкой написать if($.preventDefaultEvent(e)) return; и не забыть передать в функцию событие e.
|
|