У меня есть веб-страница с базовой формой.Между нажатием кнопки «Отправить» и перезагрузкой страницы с результатами есть немалое время ожидания, поэтому я добавил небольшой счетчик, пока пользователь ожидает.
Это довольно просто, вот HTML:
<div id="loadingBox" style="display:none;">
<!---put the actual loader here--->
</div>
Вот основной обработчик событий, позволяющий сделать счетчик видимым после нажатия пользователем кнопки «Отправить»:
$("#submitButton").submit(function(e)
{
$("#loadingBox").css('display', 'block');
});
Проблема заключается в том, что пользователь может нажать кнопку «Отправить», отобразить окно и нажать клавишу «Escape».или нажмите кнопку браузера, чтобы отменить загрузку страницы, и спиннер продолжает вращаться.
Я добавил это, чтобы убрать счетчик, если он нажал escape:
$(document).keydown(function (e)
{
if(e.keyCode == 27)
{
$("#loadingBox").css('display', 'none');
}
})
Что можно сделать, чтобы определить, что пользователь нажал кнопку загрузки страницы отмены?Я не могу найти событие, которое срабатывает при нажатии этой кнопки, и я не могу найти состояние готовности или другой атрибут, который его отражает.Меня беспокоит то, что пользователь нажимает кнопку отмены загрузки, и тогда спиннер не уходит, а пользователь смотрит на вертушку, думая, что страница все еще что-то делает, но ничего не делает.