Запуск Radwindow OnClientClose при открытии

#javascript #telerik #radwindow

#javascript #telerik #radwindow

Вопрос:

У меня есть radwindow, которое открывается с помощью функции javascript следующим образом. Однако, когда всплывает radwindow, отображается предупреждение.

 function OpenRadWindow() 
{
   var oManager = GetRadWindowManager();
   var oMailWnd;
   oMailWnd = window.radopen("MyModal.aspx");
   oMailWnd.set_title("Modal Window");
   oMailWnd.OnClientClose = HideActions();
   oMailWnd.set_modal(true);
}

function HideActions() {
   alert("Window Closed");
}
  

Я не смог найти нигде, что устанавливает OnClientClose внутри javascript. Может кто-нибудь рассказать, как это сделать?

Ответ №1:

Эта строка:

 oMailWnd.OnClientClose = HideActions();
  

неверно. Если вы хотите добавить обработчик закрытия к объекту RadWindow, вам следует использовать клиентский API

например

 oMailWnd.add_close(HideActions);
  

Кроме того, если вы собираетесь показывать окно несколько раз и не установили DestroyOnClose= true, я бы посоветовал очистить обработчик закрытия в функции закрытия, чтобы избежать стекирования:

 function HideActions(sender) {
    //remove the handler
    sender.remove_close(HideActions);
    //your code 
    alert("Window Closed");
}
  

Комментарии:

1. Спасибо, это отлично сработало. По этой причине я уже установил DestroyOnClose в RadWindowManager.