Firefox (и другие браузеры, на мой взгляд) останавливают анимацию gif, когда вы нажимаете кнопку Стоп или вызываете ее с помощью клавиши Escape.
У меня есть текстовый ввод, который при изменении делает ajax-запросы на обновление других элементов. В рамках этой ajaxyness у меня есть анимированный GIF, чтобы показать обратную связь.
Я также задерживаю нажатие клавиши escape на этом входе, чтобы очистить текстовое поле для лучшего UX.
Моя проблема в том, что после однократного нажатия клавиши Escape ни один из ajax gif больше не анимируется, пока страница не обновится. Кто-нибудь знает обходной путь?
Материал, который я пробовал:
Я попробовал e.stopPropagation();
и e.cancelBubble = true;
в функции, обрабатывающей e.keyCode == 27
, и это, похоже, не сработало. Я подозреваю, что это перестает вызывать больше js-событий, и браузер перехватывает выход независимо от активности js.
У меня есть gif, показывающий / скрывающий путем добавления / удаления класса css, поэтому трудно применить обходной путь «изменить URL-адрес gif для сброса». Я даже не знаю, работает ли это так или иначе - не проверял это. Но это кажется сложным. Если кто-то знает, что это работает, и знает, как легко применить хак с помощью background-image: url(../images/ajax-loader_dotcirclel13x13.gif);
css, пожалуйста, дайте мне знать.