Closure Libraryで引き続き遊ぶ

goog.events.EventType

リスナーを付ける時に設定した「goog.events.EventType」だがソースコードを見ているとただの文字列のようだ。

http://closure-library.googlecode.com/svn/docs/closure_goog_events_events.js.source.html

/**
 * Constants for event names.
 * @enum {string}
 */
// TODO(user): Move to its own file.
goog.events.EventType = {
  // Mouse events
  CLICK: 'click',
  DBLCLICK: 'dblclick',
  MOUSEDOWN: 'mousedown',
  MOUSEUP: 'mouseup',
  MOUSEOVER: 'mouseover',
  MOUSEOUT: 'mouseout',
  MOUSEMOVE: 'mousemove',
  SELECTSTART: 'selectstart', // IE, Safari, Chrome

  // Key events
  KEYPRESS: 'keypress',
  KEYDOWN: 'keydown',
  KEYUP: 'keyup',
・・・・・・

なので名前空間まで長々書かなくても一応以下の感じでも同じ事ができた。ただ、コンパイルが通るかは知らないからやらない方がいいだろう。

goog.events.listen(goog.dom.$('btn'), 'click', function(e) {
	alert(this.value);
});