2015-11-03 3 views
3

Есть ли способ предотвратить поведение браузера Microsoft Edge по умолчанию, когда я использую Ctrl + Left click по ссылке?Edge browser: Предотвратить Ctrl + leftclick

Edge открывает ссылку на новой вкладке, но я хочу иметь собственное событие для Ctrl + Left click.

+0

Это обычное соглашение между браузерами на уровне браузера. Почему вы хотите изменить способ работы этого соглашения на [вашем сайте], что может привести к запутыванию пользователя? – Sampson

ответ

3

Вы можете назначить обработчик событий click на свои ссылки.
Затем в обработчике вы можете сделать e.preventDefault(), чтобы предотвратить действие браузера по умолчанию. e.ctrlKey скажет вам, если нажата кнопка Ctrl.

$("a").click(function(e) { 
    if (e.ctrlKey === true) 
    { 
    e.preventDefault(); 
    // your custom actions 
    } 
}); 

0 Работает JSFiddle demo.

Поскольку вы определили тег jquery, я использовал это. Конечно, это легко сделать в ванильном JS.

+0

Это не работает в OSX, где ctrl-click [открывает контекстное меню] (http://stackoverflow.com/questions/14725824/any-way-to-detect-ctrl-click-in-javascript-for- osx-browsers-no-jquery) – joews

+0

@joews OP хочет, чтобы он работал в браузере Microsoft Edge, который недоступен для OS X. –

+0

SO не только для OP - комментарий будет полезен для других людей, которые приходят через этот вопрос. – joews

Смежные вопросы