Хотя есть событие, когда RadScheduler открывает свою форму редактирования, называемое OnClientFormCreated , не существует события, когда форма редактирования закрывается. Хотя есть способы сделать это, но вы должны добавить дополнительный код.
Когда вы думаете об этом, есть несколько различных элементов, которые могут привести к закрытию формы - пользователь может щелкнуть значок закрытия в правом верхнем (или левом, в зависимости от вашей ориентации) окна, они могут нажать кнопку отмены Или они могут нажать «Сохранить».
Имея это в виду, мы можем взглянуть на эту демонстрацию , которая показывает расширенную форму редактирования в действии, а также имеет некоторый предварительно написанный для нас JavaScript.
Внутри функции schedulerFormCreated()
мы можем сделать следующее:
function schedulerFormCreated(scheduler, eventArgs) {
// Create a client-side object only for the advanced templates
var mode = eventArgs.get_mode();
if (mode == Telerik.Web.UI.SchedulerFormMode.AdvancedInsert ||
mode == Telerik.Web.UI.SchedulerFormMode.AdvancedEdit) {
// Initialize the client-side object for the advanced form
var formElement = eventArgs.get_formElement();
var cancelButton = $("[id$='_CancelButton']");
cancelButton.on("click", formClosed);
var templateKey = scheduler.get_id() + "_" + mode;
....
И тогда у нас есть событие formClosed:
function formClosed(eventArgs) {
}
в formClosed вы можете просто создать свою логику для возобновления таймера, тогда как в schedulerFormCreated вы можете напрямую вызывать функцию, которая останавливает таймер сразу после этого оператора if.
В случае, если вам интересно, что мы здесь делаем, мы просто получаем экземпляр объекта jQuery, представляющего элемент с идентификатором, который заканчивается на _CancelButton (нас не интересует начальная часть), а затем просто привязка к событию click с использованием функции .on () jQuery.
Чтобы получить экземпляр кнопки сохранения, вам просто нужно использовать _UpdateButton , а для значка закрытия это _AdvancedEditCloseButton . Имейте в виду, что будет выбран любой элемент, заканчивающийся этими подстроками, поэтому, если вы хотите быть более конкретным, я рекомендую проверить элементы вашей расширенной формы с помощью FireBug или инструментов Chrome Dev, чтобы получить их ID и включите это в селектор выше.
Это должно позволить вам получить необходимую функциональность.