Jquery插件开发模式

jquery plugin development pattern

本文关键字:模式 开发 插件 Jquery      更新时间:2023-09-26

我通常是这样实现我的插件的:

(function($){
    $.fn.plugingName = function(inSettings){
        //code that extands settings with default
        return this.each(function(){
        new PluginClass($(this), settings);
        });
    }
    PluginClass = function(jElem, settings){
        //here I usually put variable and function in such a way to compose better
        var events = {
            onMouseUp : function(){
                //some actions
            },
            onMouseMove : function(event){
                //some actions
            }, 
            //etc.
        },
        draw = {
            drawGrid : function(){//some actions},
            //etc.
        },
        //etc.
        /*****************************
         * This is a place of question
         ****************************/ 
    }
})(jQuery);

我只是想知道是否有一种模式将算法与我上面描述的声明部分分开。比如把算法部分放到

里面
function main(){
}();

如果有更好的方法来区分算法的主要部分。我希望我把一切都讲清楚了。

所有其他的改进也可以用表示代码完成。

你的意思是把function main()放在大包装的function($){ ...外面?但这并不是我们所希望的,包装函数的存在正是为了避免覆盖全局命名空间。这是非常干净的设计,它是理想的。所以不用担心使用这个标准模式