请帮忙分析下,越详细越好。我刚学,看不明白,希望大家帮帮忙
(function ($)

    /// <param name="$" type="jQuery"></param>
    $.fn.ligerCheckBox = function (p)
    {
        p = p || {};
        return this.each(function ()
        {
            if (this.usedCheckBox) return ;
            if ($(this).hasClass('l-hidden')) { return; }
            var g = {};
            g.input = $(this);
            g.link = $('<a class="l-checkbox"></a>');
            g.wrapper = g.input.addClass('l-hidden').wrap('<div class="l-checkbox-wrapper"></div>').parent();
            g.wrapper.prepend(g.link);
            if (p.css) g.wrapper.css(p.css); 
            g.input.change(function ()
            {
                if (this.checked)
                {
                    g.link.addClass('l-checkbox-checked');
                }
                else
                {
                    g.link.removeClass('l-checkbox-checked');
                }
                return true;
            });
            g.link.click(function ()
            {
                if (g.input.attr('disabled')) { return false; }
                if (p.onBeforeClick)
                {
                    if (!p.onBeforeClick(g.input[0]))
                        return false;
                }
                g.input.trigger('click').trigger("change");
                return false;
            });
            g.wrapper.hover(function ()
            {
                $(this).addClass("l-over");
            }, function ()
            {
                $(this).removeClass("l-over");
            });
            this.checked && g.link.addClass('l-checkbox-checked');
            this.usedCheckBox = true;
        });
    };
})(jQuery);

解决方案 »

  1.   

    function($){...}这事定义一个匿名函数
      

  2.   

    匿名函数的参数为$ 
    (function($){...})(JQuery) 这事调用匿名函数,JQuery作为参数
    $.fn.ligerCheckBox = function (p){...}这事对jq的fn扩展了一个ligerCheckBox的函数
      

  3.   

    我想问问if (this.usedCheckBox) return ;这句是什么意思
      

  4.   

    如果元素有usedCheckBox属性值就返回
      

  5.   

    usedCheckBox这个属性代表的是什么意思
      

  6.   

    应该只是一个内部变量,遍历的时候用来判断这个checkBox是否被操作过