Dojo.Connect与循环中div元素的click事件

时间:2016-09-15 22:25:49

标签: for-loop dojo click

我试图显示警报消息,包括通过循环搜索的div元素上的click事件。问题是在我点击的任何div中,它只显示最后一个元素的警报。我怎么解决?我不明白正在执行的逻辑。

                for (var i = 0; i < this.legend.layerInfos.length; i++)
                {   
                    var sNomeDiv = "";
                    var sMensagem = ""; 

                    if (this.legend.layerInfos[i].layer.visible)
                    {
                        sNomeDiv = this.legend.id + "_" + this.legend.layerInfos[i].layer.id;                                               

                        if (this.legend.layerInfos[i].layer.description == "" || this.legend.layerInfos[i].layer.description == "undefined" || this.legend.layerInfos[i].layer.description == "null")
                        {
                            sMensagem = "Nenhuma informação cadastrada para a camada " + this.legend.layerInfos[i].title;
                        }
                        else
                        {
                            sMensagem = this.legend.layerInfos[i].layer.description;
                        }


                        //Always display an alert with the text of the last element of the loop
                        dojo.connect
                        (
                            dojo.byId(sNomeDiv), 
                            "onclick", 
                            function()
                            {      
                                alert(sMensagem + " --> " + sNomeDiv);
                            }
                        );
                    }
                }

0 个答案:

没有答案