docs: function addEventListeners() {
    const self = this;
  
    /***
     * 注册Page的缺省事件
     */
    self.getPageJO().on({
      "pageBeforeShow": self.pageBeforeShow.bind(self),
      "pageShow": self.pageShow.bind(self),
      "pageAfterShow": self.pageAfterShow.bind(self),
      "pageBeforePause": self.pageBeforePause.bind(self),
      "pageAfterPause": self.pageAfterPause.bind(self),
      "pageBeforeRestore": self.pageBeforeRestore.bind(self),
      "pageRestore": self.pageRestore.bind(self),
      "pageAfterRestore": self.pageAfterRestore.bind(self),
      "pageBeforeDestroy": self.pageBeforeDestroy.bind(self),
      "pageResult": self.pageResult.bind(self),
      "pageReceiver": self.pageReceiver.bind(self)
    });
  
    /**
     * onTransitionAndAnimationEnd
     * @access private
     * @param {Object} e
     */
    function onTransitionAndAnimationEnd(e) {
      console.log(Constant._debugger, "------------------------------onTransitionAndAnimationEnd");
      /***
       * 如果当前页面的transition为material则肯定不会执行webkitTransitionEnd事件
       */
      if (e.type === "webkitTransitionEnd" && e.target.getAttribute("data-ct-data-role") !== "page") {
        return;
      }
  
      if (self.pageTransitionType) {
        if (self.pageTransitionType === "start") {
          delete self.pageTransitionType;
          pageStartTransitionEndCallback.call(self, e);
        } else if (self.pageTransitionType === "finish") {
          delete self.pageTransitionType;
          pageFinishTransitioneEndCallback.call(self, e);
        }
      }
    }
  
    /***
     * 注册Page的transitionEnd和animationEnd事件
     */
    self.getPageDOM().addEventListener("webkitTransitionEnd", onTransitionAndAnimationEnd, false);
    self.getPageDOM().addEventListener("webkitAnimationEnd", onTransitionAndAnimationEnd, false);
  }