Отключение функции браузера ctrl + s по умолчанию - PullRequest
9 голосов
/ 26 августа 2010

Я использую jQuery-горячие клавиши

И следующий код:

$(document).bind('keydown', 'ctrl+s', function(){$('#save').click()});

но я не могу отключить поведение браузера по умолчанию. Как это отключить?

Ответы [ 2 ]

9 голосов
/ 26 августа 2010

Похоже, что вы возвращаете false из своего обработчика, чтобы отключить "всплывающее" событие.Итак:

$(document).bind('keydown', 'ctrl+s', function(){$('#save').click(); return false;});

... но это может зависеть от браузера.Из вашей ссылки :

Firefox - самый либеральный способ, позволяющий вам захватывать все ярлыки, даже те, которые встроены в браузер, такие как Ctrl-t для новой вкладки или Ctrl-a для выделения всего текста.Вы всегда можете передать их браузеру, вернув true в вашем обработчике.

Другие (IE) либо позволят вам обрабатывать встроенные ярлыки, но добавят их функциональность после выполнения кода.Или (Opera / Safari) вообще не будет передавать эти события в DOM.

Так что, если вы связываете Ctrl-Q или Alt-F4 и окно Safari / Opera закрыто, не удивляйтесь.

2 голосов
/ 14 января 2013

это работает и в FF:

$(document).bind('keydown keypress', 'ctrl+s', function(){
  $('#save').click(); 
  return false;
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...