javascript - 静态变量作为计数器

标签 javascript jquery jquery-plugins

我正在编写一个 jQuery 插件,需要跟踪页面上使用该插件的对象的数量。有没有一种方法可以在跟踪自身实例的插件中创建一个静态变量?

到目前为止,这是我对插件的了解:

(function ($) {
    $.fn.my_plugin = function (options)
    {
        var plugin_count = 0;

        return this.each(function() {
            alert(++plugin_count);
        });
    }
}(jQuery));

在我的页面上:

<div class="plugin_div"></div>
<div class="plugin_div"></div>
<div class="plugin_div"></div>
<div class="plugin_div"></div>

<script language="javascript">
    $('.plugin_div').my_plugin();
</script>

当页面加载时,我收到四个警报,其中显示“1”。

我如何编写此代码,以便每个调用 my_plugin() 的元素的变量递增?

编辑:修复了错误的复制粘贴作业。

最佳答案

你可以这样做:

(function ($) {
    $.fn.my_plugin = function (options)
    {
        $.fn.my_plugin.count = $.fn.my_plugin.count || 0;

        return this.each(function() {
            alert(++$.fn.my_plugin.count);
        });
    }
}(jQuery));

或者不使用 $.fn 而使用 $.my_plugin.count 因此您还可以将插件的默认值定义为:

$.my_plugin = {
    count : 0,
    defaults : {}
};

// Extend options with plugin defaults!
$.extend(options, $.my_plugin.defaults); 

关于javascript - 静态变量作为计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16150213/

相关文章:

javascript - 在一段文本中查找单词

javascript - 在 jQuery 中搜索立即选择器?

jQuery 插件似乎仅适用于 safari/FF,但不适用于 IE 8

jquery-plugins - 打印 jquery colorbox 内容

javascript - Chrome 扩展访问唯一的 client_id (UUID)

javascript - 如何在前端导入api.php的路径

jquery - 2 个 div 上的随机预定义背景颜色和文本颜色

用于多行项目表单的 jQuery 插件

javascript - 如何防止从控制台对 SignalR 聊天进行 jQuery 调用?

javascript - 如何在 Sapper 中离开父布局?