docs: function (event) {
              var inputField = this.getTextInputField();
              var blurredElement = event.target;
  
              if (blurredElement === inputField) {
                  if (inputField.nextSibling != null && inputField.value === "") {
                      this._makeInputFieldLastChild();
                  }
              } else if (blurredElement.parentNode.className.indexOf("highlight") != -1) {
                  this.unhighlightOption(blurredElement.parentNode);
              }
              // call TextInput onblur handler with avoidCallback set to true
              this.$TextInput._dom_onblur.call(this, event, true);
  
              if (this._cfg.onblur) {
                  // timeout is needed to retrieve (on every browser) the activeElement
                  ariaCoreTimer.addCallback({
                      fn : function () {
                          var isAncestor = ariaUtilsDom.isAncestor;
                          var focusedEl = Aria.$window.document.activeElement;
  
                          // if onblur is defined and window lost focus ( ==null ) or if focus is not in the widget or
                          // dropdown element
                          if (this._cfg
                                  && (focusedEl == null || ((this._dropdownPopup == null || !isAncestor(focusedEl, this._dropdownPopup.domElement)) && !isAncestor(focusedEl, this._domElt)))) {
                              this.evalCallback(this._cfg.onblur);
                          }
                      },
                      scope : this,
                      delay : 100
                  });
              }
          }