如何在jQuery插件中手动执行函数?

时间:2012-03-20 19:40:44

标签: javascript jquery

我有一个看起来像这样的插件:

(function($) {
    $.fn.plugin_name = function(options) {

        var $this = $(this);

        var defaults = {
            // some defaults
        };

        options = $.extend({}, defaults, options);

        var work = {
            action_1: function() {
                // do something
            },
            action_2: function(output) {
                alert('hello world');
            }
        }

        that.submit(function(e) {
            e.preventDefault();
            work.action_1();
        });

        return $this;
    }
})(jQuery);

它被用作任何传统的jquery插件,通过附加到这样的页面元素:

$('#search-form').plugin_name({
    // overide options
});

我的问题是,如何执行深深嵌套在插件中的work.action_2()函数?我想从firebug中的javascript控制台手动调用它。

2 个答案:

答案 0 :(得分:2)

  

我的问题是,如何执行深深嵌套在插件中的work.action_2()函数?

你不能,这超出你的范围!

你无法触及私人功能变量,就像你无法达到我的功能......

答案 1 :(得分:0)

如果需要单独使用,则在单独的实用程序函数中创建它,如果它在您自己的全局对象中更好。 所以你可以像这样调用它:$ .myGlobalObj.action_2()