JQuery:检查是否已调用jquery插件

时间:2010-09-13 17:36:21

标签: jquery jquery-plugins

我构建了一个jQuery插件,需要先关闭才能再次调用,所以我需要检查jQuery插件是否被调用(活动)。 我知道我可以使用jQuery.data()保存一个值,只需在插件关闭时删除/重置它,但是还有其他更聪明的方法吗?

3 个答案:

答案 0 :(得分:1)

typeof $.fn.my_func !== "undefined"

答案 1 :(得分:0)

如果您想知道插件是否处于活动状态,请使用如下全局变量:

$.fn.my_func(params)
{
    if(window.my_func_active)
    {
        console.log('Cannot run plugin');
        return;
    }

    window.my_func_active = true;
    //blah
    endme = function()
    {
       //shutdown here
       delete window.my_func_active;
    }
}

答案 2 :(得分:0)

嗯,有趣的案例。 您可以考虑使用jQuery的队列..

var n = $('someSpecialDiv').queue("specialQue");

$('someSpecialDiv').queue("specialQue", function () {
    $.myPlugin();  //Always run your plugin(only this plugin) after queueing to this queue
  });

  alert(n.length); //This would tell you if your function is in execution if > 0

我不确定这是否有助于你的情况?