code: function (types, listener) {
          types = utils.trim(types).split(/\s+/);
          for (var i = 0, ti; ti = types[i++];) {
              getListener(this, ti, true).push(listener);
          }
      }
docs: 注册事件监听器
  @method addListener
  @param { String } types 监听的事件名称，同时监听多个事件使用空格分隔
  @param { Function } fn 监听的事件被触发时，会执行该回调函数
  @waining 事件被触发时，监听的函数假如返回的值恒等于true，回调函数的队列中后面的函数将不执行
  @example
  ```javascript
  editor.addListener('selectionchange',function(){
  console.log("选区已经变化！");
  })
  editor.addListener('beforegetcontent aftergetcontent',function(type){
  if(type == 'beforegetcontent'){
  //do something
  }else{
  //do something
  }
  console.log(this.getContent) // this是注册的事件的编辑器实例
  })
  ```
  @see UE.EventBase:fireEvent(String)