focus();
Метод focus обрабатывает событие передачи фокуса модулю и его элементам.
Реализация данного метода зависит от классов, унаследованных от ModuleObject. В настоящее время данный метод реализует только PP.Application.EaxModuleObject.
Для выполнения примера необходимо, чтобы был открыт любой экспресс-отчёт, а указанный ниже сценарий был запущен в консоли браузера.
Вызовем обработчики событий blur, focus и focusout и проверим, как они влияют на признак изменения экспресс-отчёта:
// Получим объект текущего модуля
var moduleObject = PP.App.getModuleObject();
// Определим функцию для проверки, был ли изменён экспресс-отчёт
var defineIsChanged = function (event) {
if (moduleObject.setIsChanged()) {
console.log("Экспресс-отчет после обработки события " + event +
" был изменён");
// Сбросим признак того, что экспресс-отчёт был изменён
moduleObject.setIsChanged(null);
} else {
console.log("Экспресс-отчет после обработки события " + event +
" не был изменён");
};
};
// Установим признак того, что экспресс-отчёт не был изменён
moduleObject.setIsChanged(null);
// Обработаем событие потери фокуса полями ввода формы
moduleObject.blur();
// Проверим, изменён ли экспресс-отчёт
this.defineIsChanged("blur");
// Обработаем событие передачи фокуса модулю или его элементам
moduleObject.focus();
// Проверим, изменён ли экспресс-отчёт
this.defineIsChanged("focus");
// Обработаем событие потери фокуса модулем или его элементом
moduleObject.focusout("focusout");
// Проверим, изменён ли экспресс-отчёт
this.defineIsChanged();
В результате выполнения примера было выявлено, что обработчики событий blur и focusout не влияют на признак изменения экспресс-отчёта, а обработчик события focus устанавливает признак, что экспресс-отчёт изменён:
Экспресс-отчет после обработки события blur не был изменён
Экспресс-отчет после обработки события focus был изменён
Экспресс-отчет после обработки события undefined не был изменён
См. также: