Команды сочетания клавиш в Chrome, не запрещающие действие по умолчанию

Поэтому я пишу библиотеку ярлыков, и по большей части она работает, за исключением проблемы, которую я сразу обнаружил, в Chrome (другие браузеры не тестировались, так как я нахожусь в книге Chrome), что при нажатии ctrl+n это создает новое окно браузера. В основном в jist мой код проверяет, определен ли текущий выбор ключа и preventDefault и запустить exec Функция этой команды.

то есть.

if(joinedKeys in commands.cmd)
    e.preventDefault();
    commands.cmd[joinedKeys].exec();

Я даже пытался сделать это

document.addEventListener("keydown",function(e){
    e.preventDefault();
});
//as well as window.addEvent...

Ни одна из них не работает. Любые предложения, как остановить действие по умолчанию браузеров?

1 ответ

Решение

См. /questions/5865996/yarlyiki-brauzera-zahvata-javascript-ctrl-t-n-w/5866009#5866009

В Chrome4 определенные комбинации управляющих клавиш зарезервированы только для использования браузером и больше не могут быть перехвачены клиентским JavaScript на веб-странице. Эти ограничения не существовали в Chrome3 и несовместимы как с Firefox3/3.5, так и с IE7/8 (в Windows).

Другие вопросы по тегам