ui.Popup の表示・非表示イベントを監視する

goog.ui.Popup は Positioning 可能なポップアップ View を扱うクラスです。
setHideOnEscape()setAutoHide() でポップアップ要素を自動的に隠すイベントは、スーパークラス goog.ui.PopupBaseEventType に定義されています。

// Popup の表示・非表示イベント
goog.ui.PopupBase.EventType = {
  BEFORE_SHOW: 'beforeshow',
  SHOW: 'show',
  BEFORE_HIDE: 'beforehide',
  HIDE: 'hide'
};


ui.Popup の使用例は以下の通り。

<!-- HTML -->
<div id="popup"></div>
goog.require('goog.ui.Popup');
goog.require('goog.events');
goog.require('goog.dom');

var $ = goog.dom.getElement;

// Set up a popup
var popup = new goog.ui.Popup($('popup'));
popup.setHideOnEscape(true);  // Esc キーでポップアップを隠す
popup.setAutoHide(true);  // ポップアップ以外の要素をクリックしたら隠す

// Listen popup's event
goog.events.listen(popup, 
                   goog.ui.PopupBase.EventType.SHOW, 
                   function (e) {
                       // onShow
                   });
goog.events.listen(popup, 
                   goog.ui.PopupBase.EventType.HIDE, 
                   function (e) {
                       // onHide
                   });

// 意図的に SHOW イベントを発生させる
popup.setVisible(true);

Google API Expertが解説する Closure Libraryプログラミングガイド

Google API Expertが解説する Closure Libraryプログラミングガイド