Есть ли какие-то стандарты для поведения гиперссылки с нажатой клавишей-модификатором?
Например, firefox создает новую вкладку, если нажата кнопка Ctrl
, и создает новое окно, если нажата кнопка Shift
.
Опера создает новую расфокусированную вкладку на Ctrl
, и сфокусирована - на Shift
.
Является ли он полностью зависимым от браузера или существуют некоторые рекомендации, которые следует учитывать?Поведение клавиш-модификаторов при гиперссылках
ответ
Вы можете использовать атрибут
target="_blank"
, чтобы заставить веб-страницу, чтобы открыть в новом окне/окна (в зависимости от браузера). Например:
<a href="www.google.com" taget="_blank">
- ОБНОВЛЕНИЕ -
Ну, я сделал немного, глядя на него и не вижу ничего о гиперссылок и модификаторов, только думаю, что я могу вспомнить дело с ключом-модификатором в javascript.
Если возникла проблема с появлением новых страниц в новых вкладках/окнах, вы можете сделать что-то вроде следующего, чтобы отключить его. Однако, если пользователь отключает javascript, тогда ссылка не будет работать на всех, что не является идеальным.
<HTML>
<HEAD>
<TITLE>Event Modifiers</TITLE>
<SCRIPT LANGUAGE="JavaScript">
function checkMods(event){
if(event.shiftKey) {
alert("Shift, held.");
return false
}
else{
window.location = "http://www.google.com/"
return true
}
}
</SCRIPT>
</HEAD>
<BODY>
<H1>Event Modifiers</H1>
<HR>
<P>This link wont work if Shift is held while clicking.
<A HREF="javascript:void(0)" onClick="return checkMods(event)">
this link</A>
</BODY>
</HTML>
Это браузер зависит, и является гораздо более сложным, чем вы, кажется, ожидать: есть также средний щелчок (который не сгореть onclick
), есть Apple, клавишные, где это Command + щелчок (не Ctrl + клик), контекстное меню «Открыть ссылку в новой вкладке», мобильные браузеры и многое другое.
Вы говорите in a comment:
Я пишу JS на мой сайт, и я хочу знать, какое поведение ожидает пользователь, нажав на гиперссылок с переплетены событий OnClick.
Предлагаемый способ - предоставить фактический URL-адрес в элементе href
, если это возможно, и разрешить браузеру открывать его на новой вкладке. Вы можете переопределить поведение по умолчанию для простого щелчка левой кнопкой мыши, отменив событие от обработчика события.
Я знаю, это не то, о чем я спрашивал. – user2052437
Мой плохой, да, насколько я знаю, это зависит от браузера. Есть ли какая-то конкретная причина, о которой вы спрашиваете, поскольку я никогда не знал, что это проблема для пользователей. – cosmicsafari
Я пишу js для своего сайта, и я хочу знать, какое поведение пользователь ожидает, нажав на гиперссылки со связанными событиями onClick. – user2052437