2012-04-25 107 views
0

我在充分理解JavaScript中的類定義。目前,我有一個如下定義的類:JavaScript「類」中的事件處理程序

function Item() { this.init(); } 
Item.prototype = { 
    init: function() { 
     this.data = { 
      id: 0, 
      name: "", 
      description: ""  
     } 
    }, 

    save: function() { 
     $.ajax({ 
      url: getUrl(), 
      type: "POST", 
      data: JSON.stringify(this.data), 
      contentType: "application/json", 
      success: save_Succeeded, 
      error: save_Failed 
     }); 
    } 
} 

我的問題是,我不知道怎麼樣,或者,來定義我的save_Succeededsave_Failed事件處理程序。有人可以幫我嗎?謝謝!

+0

了'Item'內。它還能在哪裏? – gdoron 2012-04-25 12:48:51

+0

如果你正在定義一個新的原型對象,不要忘記添加屬性'constructor:Item'。 – 2012-04-25 12:55:29

+0

什麼是「構造函數:Item」?這是我聽說過的第一個。你有一篇文章或我可以用來了解這個的東西嗎? – 2012-04-25 16:35:11

回答

2

添加context:到您的通話$.ajax指向this使正確的對象作爲this通過處理程序被調用時。

喜歡的東西:

save: function() { 
    $.ajax({ 
     context: this, 
     url: getUrl(), 
     type: "POST", 
     data: JSON.stringify(this.data), 
     contentType: "application/json", 
     success: this.save_Succeeded, 
     error: this.save_Failed 
    }); 

(假設你也把save_Succeededsave_Failedprototype) }

+0

+!比我的好多了...... – hvgotcodes 2012-04-25 12:54:56

+0

你能給我一個樣品嗎?我不完全明白你在說什麼。 – 2012-04-25 13:12:10