Как правильно вызвать функцию внутри самого плагина - PullRequest
1 голос
/ 01 декабря 2011

Как правильно вызвать функцию внутри самого плагина?Например, все работает нормально, если я вызову функцию, подобную этой,

init_tinymce();

Но я получу ошибку, которая скажет $.fn.get_tinyMCE.init_tinymce is not a function, если я вызову такую ​​функцию,

$.fn.get_tinymce.init_tinymce();

Ниже приведен упрощенный код,

(function($){ 
   $.fn.extend({         
       get_tinymce: function () {
            var $cm = this.ready(function(e){
                if (tinyMCE.activeEditor != null || tinyMCE.activeEditor != undefined) {
                    //console.log(tinyMCE.activeEditor);
                    for (var i = 0; i < tinyMCE.editors.length; i++) {
                        tinyMCE.remove(tinyMCE.editors[i]);
                    }

                    setTimeout(function () {
                        //load_mce_basic();
                    }, 1000);
                } 
                else {
                    $.fn.get_tinymce.init_tinymce();
                    //init_tinymce();
                }           
            });         

            function init_tinymce(){ 
                alert('2');
            };

            $.fn.get_tinymce.init_tinymce = function() {
                alert('1');
            };
        }
    });
})(jQuery);

1 Ответ

1 голос
/ 01 декабря 2011

$.fn расширяет библиотеку плагинов jQuery.Если вы добавите функцию к объекту $.fn, например $.fn.foo = function(), вы можете вызвать ее как $(elem).foo();, где объект this ссылается на объект DOM elem.

Дополнительная информация: http://docs.jquery.com/Plugins/Authoring

В вашей функции вы можете использовать ее следующим образом:

$("textarea").get_tinymce();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...