docs: function( dontGiveFocus ) {
  
                  // If it’s already open, do nothing.
                  if ( STATE.open ) return P
  
                  // Add the “active” class.
                  $ELEMENT.addClass( CLASSES.active )
                  aria( ELEMENT, 'expanded', true )
  
                  // * A Firefox bug, when `html` has `overflow:hidden`, results in
                  //   killing transitions :(. So add the “opened” state on the next tick.
                  //   Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=625289
                  setTimeout( function() {
  
                      // Add the “opened” class to the picker root.
                      P.$root.addClass( CLASSES.opened )
                      aria( P.$root[0], 'hidden', false )
  
                  }, 0 )
  
                  // If we have to give focus, bind the element and doc events.
                  if ( dontGiveFocus !== false ) {
  
                      // Set it as open.
                      STATE.open = true
  
                      // Prevent the page from scrolling.
                      if ( IS_DEFAULT_THEME ) {
                          $html.
                              css( 'overflow', 'hidden' ).
                              css( 'padding-right', '+=' + getScrollbarWidth() )
                      }
  
                      // Pass focus to the root element’s jQuery object.
                      // * Workaround for iOS8 to bring the picker’s root into view.
                      P.$root[0].focus()
  
                      // Bind the document events.
                      $document.on( 'click.' + STATE.id + ' focusin.' + STATE.id, function( event ) {
  
                          var target = event.target
  
                          // If the target of the event is not the element, close the picker picker.
                          // * Don’t worry about clicks or focusins on the root because those don’t bubble up.
                          //   Also, for Firefox, a click on an `option` element bubbles up directly
                          //   to the doc. So make sure the target wasn't the doc.
                          // * In Firefox stopPropagation() doesn’t prevent right-click events from bubbling,
                          //   which causes the picker to unexpectedly close when right-clicking it. So make
                          //   sure the event wasn’t a right-click.
                          if ( target != ELEMENT && target != document && event.which != 3 ) {
  
                              // If the target was the holder that covers the screen,
                              // keep the element focused to maintain tabindex.
                              P.close( target === P.$root.children()[0] )
                          }
  
                      }).on( 'keydown.' + STATE.id, function( event ) {
  
                          var
                              // Get the keycode.
                              keycode = event.keyCode,
  
                              // Translate that to a selection change.
                              keycodeToMove = P.component.key[ keycode ],
  
                              // Grab the target.
                              target = event.target
  
  
                          // On escape, close the picker and give focus.
                          if ( keycode == 27 ) {
                              P.close( true )
                          }
  
  
                          // Check if there is a key movement or “enter” keypress on the element.
                          else if ( target == P.$root[0] && ( keycodeToMove || keycode == 13 ) ) {
  
                              // Prevent the default action to stop page movement.
                              event.preventDefault()
  
                              // Trigger the key movement action.
                              if ( keycodeToMove ) {
                                  PickerConstructor._.trigger( P.component.key.go, P, [ PickerConstructor._.trigger( keycodeToMove ) ] )
                              }
  
                              // On “enter”, if the highlighted item isn’t disabled, set the value and close.
                              else if ( !P.$root.find( '.' + CLASSES.highlighted ).hasClass( CLASSES.disabled ) ) {
                                  P.set( 'select', P.component.item.highlight ).close()
                              }
                          }
  
  
                          // If the target is within the root and “enter” is pressed,
                          // prevent the default action and trigger a click on the target instead.
                          else if ( $.contains( P.$root[0], target ) && keycode == 13 ) {
                              event.preventDefault()
                              target.click()
                          }
                      })
                  }
  
                  // Trigger the queued “open” events.
                  return P.trigger( 'open' )
              }