2010-07-27 39 views
0

我有一個循環遍歷消息列表。我試圖創建一個鏈接,即有傳一些消息屬性,彈出一個onclick功能每條消息:在for循環中動態創建onclick事件 - 所有onclick事件都使用for循環列表中的最後一個元素

for (var k = 0; k < messages.length; k++) { 
       var message = messages[k]; 
       var lnkMessage = dojo.create("a", { innerHTML: FormatLogMessage(message.Message), className: "pointer", title: "View Message Info" }, divMessageBody); 
       //lnkMessage.href = "javascript:ShowLogPopup('" + message.LogTimeFormatted + "', '" + message.Message + "')"; 
       dojo.connect(lnkMessage, 'onclick', this, 
        function() { this.ShowLogPopup(message.LogTimeFormatted, message.Message); } 
       ); 
      } 

的問題是,使用這種方法與dojo.connect中,ShowLogPopup彈出式消息總是從列表中的最後一條消息傳遞屬性。關於如何讓它通過適當的屬性的任何想法?

回答

1

嘗試使用dojo.hitch(),而不是你的函數:

dojo.connect(lnkMessage, 'onclick', this, 
    dojo.hitch(this,"ShowLogPopup",message.LogTimeFormatted, message.Message) 
      ); 
相關問題