2012-11-16 54 views
0

我在嘗試將自定義格式程序添加到Dojo DataGrid中。這個格式化程序據我所知應該返回一個字符串與HTML呈現。在Dojo DataGrid中使用回調的格式化程序

我想點擊時渲染一個js回調的鏈接,即

<a href="javascript:void(0)" onclick="callMeBack()">value</a> 

的問題是,我不希望有一個全球性的功能callMeBack(),而是寫回調函數內聯。但我似乎無法得到這個功能。到目前爲止,我寫了這個:

function callMeBack() { ... } 
var structure = [ 
      {name:"name", field:"name", width: "200px", formatter: function(name) { 
       var link = domConstruct.create("a", {innerHTML: name}); 
       domAttr.set(link, "href", "javascript:void(0)"); 
       on(link, "click", callMeBack); 
       return link.outerHTML; 
      }}, 
      ....     
     ]; 

這個問題似乎是點擊回調沒有得到註冊。考慮到網格中使用的DOM節點可能會在返回字符串表示形式後構建,這是非常容易理解的。

但我該如何做這項工作?

回答

0

一種可能的方法是定義一個像xx.yy.callmeback GLOBALLY這樣的函數,以便找到函數定義。但我不覺得這是最好的方式。

+0

如果你不認爲這是最好的方式,爲什麼你張貼它作爲一個答案,而不是評論? – antonijn

相關問題