Проблема
При редактировании данных в формах вместо прилагающейся кнопки «Сохранить» иногда так и хочется нажать привычное Ctrl+S.
Что неизменно приводит к появлению стандартного браузерного диалога, который предложит вам сохранить текущую html-страницу.
Решение
С помощью JavaScript попытаемся:
- заблокировать появление диалога о сохранении;
- отловить нажатие клавиш и запустить клиентскую функцию;
Для блокирования стандартной обработки событий в браузере используются:
- Метод preventDefault() объекта event. Поддерживается в Gecko и Opera.
- Свойство returnValue объекта event, поддерживаемое в IE.
Обработчики вешаем с помощью специальной функции addHandler, чтобы не менять лишний раз HTML-код.В зависимости от браузера блокирование производится для события keydown или keypress. После того, как диалог о сохранении будет убит, можно вызвать угодную нам функцию.
Код
$(document).bind('keydown', function(e) { if(e.ctrlKey && (e.which == 83)) { e.preventDefault(); alert('Ctrl+S'); return false; } });
Ну вот и всё. Не забываем подключать библиотеку jQuery
Добавить комментарий