2010-11-10 28 views
0

Mootools Ajax類有一個onComplete參數,您可以將函數名稱傳遞給它,並在完成時顯示該函數。如何通過onComplete爲包含Ajax類的函數名稱的變量

http://docs111.mootools.net/Remote/Ajax.js

我希望能夠通過含有所述功能,而不是一個變量。我該如何去做呢?我的嘗試可以在下面看到。

/* 
* This way works 
*/  
var TestClass = new Class({ 

    myRequest: function() 
    { 

     $aj = new Ajax(urle, { 

      method: 'get', 
      update: $('update_div'), 
      onComplete: this.testFunctionA 

     }).request(); 

    }, 

    testFunctionA: function() 
    { 
     alert('Yo'); 
    } 

}); 

/* 
* This way doesn't 
*/  
var TestClass = new Class({ 

    myRequest: function() 
    { 

     var updateFunction = 'this.testFunctionA'; 

     $aj = new Ajax(urle, { 

      method: 'get', 
      update: $('update_div'), 
      onComplete: updateFunction 

     }).request(); 

    }, 

    testFunctionA: function() 
    { 
     alert('Yo'); 
    } 

}); 

回答

3

您的updateFunction變量包含一個字符串。

你需要它保持本身的功能,如:

var updateFunction = this.testFunctionA; 
+0

魔術。這工作!現在等待所以讓我來標記答案 – denormalizer 2010-11-10 01:37:46

+2

這不是魔術。它只是一個引用一個函數的變量。認識到Javascript函數是可以保存在變量中的第一類對象是非常重要的。 – SLaks 2010-11-10 01:41:23

+0

我不知道這個事實使它變成了魔法。感謝您的貢獻 – denormalizer 2010-11-10 02:02:10

相關問題