jquery插件开发模式

时间:2011-07-22 08:46:57

标签: javascript jquery design-patterns

我通常如何实现我的插件:

(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(){
}();

如果有更好的方法来区分算法的主要部分。我希望我能清楚地描述一切。

所有其他可能通过代表代码完成的改进也值得赞赏。

1 个答案:

答案 0 :(得分:1)

您的意思是将function main()放在大包裹function($){ ...之外?但这不是必需的,包装函数的存在是因为不能覆盖全局命名空间。这是非常干净的设计,是理想的。所以不要担心使用这种标准模式。