Мне утомительно, когда посетитель отвлекает взгляд от имеющегося у него элемента. нажали, чтобы посмотреть индикатор выполнения, который может находиться на расстоянии километров от элемента, а затем вернуться к элементу или вокруг него, когда индикатор выполнения исчезнет.
Как следует Я размещаю индикатор выполнения вокруг элемента?
До сих пор я пытался зарегистрировать обработчик, вызываемый при начале следующего запроса AJAX, следующим образом...
Код: Выделить всё
$(document).on('ajaxStart', ()=>{
$('#parentOfBar').append("");
$('#progressBarElem').html('A moment, please wait...');
$('#progressBarElem').progressbar({value: false});
$('#progressBarElem').show();
});
Я только что понял, что вместо добавления div элемент (который становится индикатором выполнения, когда он становится дочерним элементом некоторого фиксированного элемента), я мог бы решить эту проблему, сделав его родственным элементом элемента, который имеет фокус, и удалив его свойство CSS позиции следующим образом...
Код: Выделить всё
$(document).on('ajaxStart', ()=>{
$fucusedElem = $( document.activeElement ) //the currently focused element
$fucusedElem.parent().append("");
$('#progressBarElem').html('A moment, please wait...');
$('#progressBarElem').progressbar({value: false});
$('#progressBarElem').show();
});
Это лучшее решение или может быть лучший способ определить, какой элемент вызвал AJAX? начать операцию вместо того, чтобы полагаться на элемент, имеющий фокус?
Подробнее здесь: https://stackoverflow.com/questions/782 ... ed-the-tas