2015-09-04 1 views
0

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

ie.

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

Я даже пытался просто делать this-

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

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

ответ

2

См https://stackoverflow.com/a/7296303/5298696

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

+1

Привет, спасибо, поэтому я должен буду это сделать, чтобы пользователи не пытались использовать эти комбинаторы ради вежливости, довольно забавно, как они поднимают и отнимают у нас вещи -_- – EasyBB