Проблема
При редактировании данных в формах вместо прилагающейся кнопки «Сохранить» иногда так и хочется нажать привычное 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
Комментарии 0
Комментариев пока нет, стань первым!