code: function(e) {
              var $this = $(this),
                  data = $this.data(),
                  opt = data.contextMenu,
                  root = data.contextMenuRoot,
                  key = data.contextMenuKey,
                  callback;
  
              // abort if the key is unknown or disabled or is a menu
              if (!opt.items[key] || $this.is('.disabled, .context-menu-submenu, .context-menu-separator, .not-selectable')) {
                  return;
              }
  
              e.preventDefault();
              e.stopImmediatePropagation();
  
              if ($.isFunction(root.callbacks[key]) && Object.prototype.hasOwnProperty.call(root.callbacks, key)) {
                  // item-specific callback
                  callback = root.callbacks[key];
              } else if ($.isFunction(root.callback)) {
                  // default callback
                  callback = root.callback;                
              } else {
                  // no callback, no action
                  return;
              }
  
              // hide menu if callback doesn't stop that
              if (callback.call(root.$trigger, key, root) !== false) {
                  root.$menu.trigger('contextmenu:hide');
              } else if (root.$menu.parent().length) {
                  op.update.call(root.$trigger, root);
              }
          }
docs: contextMenu item click