2013-09-26 6 views
0

У меня есть эта странная ошибка, я не могу получить доступ к общедоступному методу из моего плагина. Что здесь не так? Я использую jQuery 1.10.2.Uncaught TypeError: Не удается вызвать метод 'tabsClick' of undefined

Uncaught TypeError: Cannot call method 'tabsClick' of undefined 

Вот мой плагин:

;(function ($) { 

    $.fn.smk_Toolkit_Tabs = function(options) { 

     // Defaults 
     var settings = $.extend({ 
      something: '.my_class', 
     }, options); 

     // Reffer to current instance 
     var plugin = this; 

     //"Constructor" 
     var init = function() { 
      //... 
     } 

     // My public method 
     this.tabsClick = function() { 
      //... 
     } 

     //"Constructor" init 
     init(); 

    } 

}(jQuery)); 

Вот как я пытаюсь получить доступ общественности метод:

var tkp = $('.smk_toolkit_plugin_container').smk_Toolkit_Tabs(); 
tkp.tabsClick(); 
+2

Я предполагаю, что 'init' ничего не возвращает, поэтому' tkp' является 'undefined'. –

+1

вы должны «перенастроить это» перед закрывающей скобкой; – tikider

+0

вам нужно посмотреть некоторые модели разработки плагинов –

ответ

1

Вы должны добавить return this; до конца $.fn.smk_Toolkit_Tabs.

+0

Ничего себе! Я не могу в это поверить. Оно работает. Благодарю. –

Смежные вопросы