【问题标题】:overriding a function defined in jquery closure覆盖在 jquery 闭包中定义的函数
【发布时间】:2011-06-03 15:53:00
【问题描述】:

我在 jquery 闭包中定义了一个函数,并由同一个闭包中的另一个函数调用。我可以在不更改闭包本身的情况下覆盖被调用的函数吗?示例见代码

(function($){
    function Myfunction(value)
    {
        //do something with the value
    }
    $('a').live('click',function(){
        MyFunction($(this).val())
    });
}(JQuery));

有没有一种方法可以覆盖 Myfunction,以便在事件处理程序中调用 Myfuntion 的覆盖副本。

【问题讨论】:

    标签: javascript jquery closures


    【解决方案1】:

    你不能。 Functions defined inside closures are private - 他们:

    [无法]从匿名函数外部直接访问

    【讨论】:

      【解决方案2】:

      编写function f() {} 对函数做了几件事情(尽管我没有猜到将它排除在命名空间之外就是其中之一)。写var f = function() { }把f当作普通变量。

      【讨论】:

        猜你喜欢
        • 2013-05-07
        • 1970-01-01
        • 2012-03-15
        • 2011-05-31
        • 2013-12-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多