code: function(e) {
              var $this = $(this),
                  data = $this.data(),
                  opt = data.contextMenu,
                  root = data.contextMenuRoot;
              
              root.hovering = true;
  
              // abort if we're re-entering
              if (e && root.$layer && root.$layer.is(e.relatedTarget)) {
                  e.preventDefault();
                  e.stopImmediatePropagation();
              }
  
              // make sure only one item is selected
              (opt.$menu ? opt : root).$menu
                  .children('.hover').trigger('contextmenu:blur');
  
              if ($this.hasClass('disabled') || $this.hasClass('not-selectable')) {
                  opt.$selected = null;
                  return;
              }
              
              $this.trigger('contextmenu:focus');
          }
docs: :hover done manually so key handling is possible