在jQuery插件中公开javascript变量,同时保持可链接性?

时间:2012-01-10 19:59:17

标签: jquery jquery-plugins

我的插件存在的问题是我需要公开 var chart并保持可链接性。我怎么能做到这一点?这是我写的第一个插件,我不知道可链接性是否真的很重要。感谢。

Html篇

<div id="chart1" class="chart"></div>
<div id="chart2" class="chart"></div>

插件调用

$("div").chart();

插件定义

(function($) {

    $.fn.chart = function(options) {

       return this.each() // Maintain chainability
       {
           // Stuff, ajax call and then...
           var chart = new Highcharts(options);
           // Expose each chart variable for each container (<div>)
       }

    };

})(jQuery);

编辑:添加了有关chart变量的说明。

1 个答案:

答案 0 :(得分:1)

首先,如果您还没有,请阅读Plugins/Authoring。那里有一些好主意。

其次,您可以尝试这样的事情:

$.fn.chart = function(options)
{
    if(options=='get_charts')
        return charts;
    else
    {
        // Stuff, ajax call and then...
        var chart = new Highcharts(options);
    }
}

然后通过$('#something').charts({});$('#something').charts('get_charts');

正常调用此方法