代码之家  ›  专栏  ›  技术社区  ›  bleeeah

无法在我的javascript对象中重新定义函数

  •  0
  • bleeeah  · 技术社区  · 15 年前

    if (RF == null) var RF = {};
    RF.Example= {
        onDoSomething: function () { alert('Original Definition');} ,
        method1 : function(){ RF.Example.onDoSomething(); }
    }
    

    在我的.aspx页面中,我有以下内容。。

    $(document).ready(function () {
            RF.Example.onDoSomething = function(){ alert('New Definition'); };
            RF.Example.method1();
        });
    

    当页面加载文档。就绪被称为但是 alert('Original Definition'); 只会出现。有人能告诉我正确的方向吗。我基本上想重新定义 onDoSomething 功能。谢谢,本。

    编辑

    谢谢你的评论,我可以看到这是工作。那有关系吗 method1 实际上是调用另一个方法 onDoSomething()

    method1 : function(){ 
               RF.Example2.callbackFunction(function() {RF.Example.onDoSomething();}); 
              }
    
    2 回复  |  直到 15 年前
        1
  •  1
  •   T.J. Crowder    15 年前

    引用的代码应该有效(并且: http://jsbin.com/uguva4 Closure )或者minifier之类的,名称可能会被更改,在这种情况下,您要添加一个新的 onDoSomething 当旧的被重新命名时。或者,警报可能是由其他东西触发的,而不是你认为触发它的东西。或是别的什么东西抓住了 (可能在外部脚本的其他地方)并直接使用它,例如: http://jsbin.com/uguva4/2

        2
  •  0
  •   bleeeah    15 年前

    谢谢你的回复。。最后,答案与发布的代码无关。为证明我没疯而干杯。