Ответ 1
Вы можете изучить свойства ctrlKey
, shiftKey
и metaKey
объекта события. Если значение true, клавиша управления ключами, сменой или мета (клавиша Apple) удерживается, и вы должны разрешить действие ссылки по умолчанию. В противном случае вы можете использовать preventDefault
, чтобы остановить действие ссылки и обработать его с помощью javascript.
Добавьте target="_blank"
к вашей привязке привязки, поэтому по умолчанию ссылка на ссылку открывает новую вкладку. В противном случае он откроется поверх текущей страницы (что может быть желательно).
Здесь javascript, в любом случае:
document.getElementById("mylink").onclick = function(evnt) {
if (
evnt.ctrlKey ||
evnt.shiftKey ||
evnt.metaKey || // apple
(evnt.button && evnt.button == 1) // middle click, >IE9 + everyone else
){
return;
}
evnt.preventDefault();
alert("clicked");
return false;
}
Fiddle: http://jsfiddle.net/6byrt0wu/
Documentation
- События MDN - https://developer.mozilla.org/en-US/docs/Web/API/Event
-
Event.ctrlKey
- https://developer.mozilla.org/en-US/docs/Web/API/event.ctrlKey -
Event.shiftKey
- https://developer.mozilla.org/en-US/docs/Web/API/event.shiftKey -
Event.metaKey
- https://developer.mozilla.org/en-US/docs/Web/API/event.metaKey -
a
tag - https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a