Semantic-Org/Semantic-UI · error

The method you called is not defined

Error message

The method you called is not defined

What it means

Generic Semantic UI method-not-found error from the tab module's invoke dispatcher (tab.js:834). Calling $('.menu .item').tab('xyz') where 'xyz' is not a defined tab method triggers it.

Source

Thrown at src/definitions/modules/tab.js:924

  loadOnce        : false,      // Whether tab data should only be loaded once when using remote content
  cacheType       : 'response', // Whether to cache exact response, or to html cache contents after scripts execute
  ignoreFirstLoad : false,      // don't load remote content on first load

  apiSettings     : false,      // settings for api call
  evaluateScripts : 'once',     // whether inline scripts should be parsed (true/false/once). Once will not re-evaluate on cached content

  onFirstLoad : function(tabPath, parameterArray, historyEvent) {}, // called first time loaded
  onLoad      : function(tabPath, parameterArray, historyEvent) {}, // called on every load
  onVisible   : function(tabPath, parameterArray, historyEvent) {}, // called every time tab visible
  onRequest   : function(tabPath, parameterArray, historyEvent) {}, // called ever time a tab beings loading remote content

  templates : {
    determineTitle: function(tabArray) {} // returns page title for path
  },

  error: {
    api        : 'You attempted to load content without API module',
    method     : 'The method you called is not defined',
    missingTab : 'Activated tab cannot be found. Tabs are case-sensitive.',
    noContent  : 'The tab you specified is missing a content url.',
    path       : 'History enabled, but no path was specified',
    recursion  : 'Max recursive depth reached',
    legacyInit : 'onTabInit has been renamed to onFirstLoad in 2.0, please adjust your code.',
    legacyLoad : 'onTabLoad has been renamed to onLoad in 2.0. Please adjust your code',
    state      : 'History requires Asual\'s Address library <https://github.com/asual/jquery-address>'
  },

  metadata : {
    tab    : 'tab',
    loaded : 'loaded',
    promise: 'promise'
  },

  className   : {
    loading : 'loading',
    active  : 'active'

View on GitHub (pinned to 597843ab84)

Solutions

  1. Check the method name against the Semantic UI Tab docs for the installed version.
  2. Ensure you call tab methods on the tab navigation element, not the content pane.
  3. Quote the method name exactly (e.g. 'change tab', not 'changetab').

Example fix

// before
$('.menu .item').tab('changetab', 'settings');
// after
$('.menu .item').tab('change tab', 'settings');
Defensive patterns

Strategy: type-guard

Validate before calling

var TAB_METHODS = ['change tab','set state','get state','is tab','cache read','cache add','destroy'];
function safeTabCall($el, method) {
  if (TAB_METHODS.indexOf(method) === -1) { console.warn('Unknown tab method:', method); return; }
  return $el.tab(method);
}

Type guard

function isKnownTabMethod(name) { return ['change tab','set state','get state','is tab','cache read','cache add','destroy'].indexOf(name) !== -1; }

Prevention

When it happens

Trigger: Misspelled method names, calling tab methods on the wrong selector, or invoking a method that doesn't exist in the installed version (e.g. 'change tab' vs. just passing the path).

Common situations: Typos; mixing up tab method names with form/sidebar methods; copy-pasting from mismatched Semantic UI docs.

Related errors


AI-assisted analysis of Semantic-Org/Semantic-UI@597843ab84 (2026-08-13). Data as JSON: /api/errors/1cf96f704da09040. Report an issue: GitHub.