2013-05-21 46 views
0

在Firefox和Chrome瀏覽器中嘗試使用我們的Worklight應用程序時,我們注意到在Chrome瀏覽器上,我們的EdgeToEdgeStoreList項目上的onclick事件不起作用。 在Firefox中,onclick事件確實有效。IBM Worklight 5.0.6 - Dojo「onclick」事件在Chrome中不起作用

require([ "dojo/store/Memory", 
     "dojox/mobile/EdgeToEdgeStoreList", "dojo/_base/array" ], function(Memory, 
     EdgeToEdgeStoreList, array) { 

var conferencesJson = []; 
for(var i = 0; i < conference.array.length; i++){ 
    var x = {"label" : conference.array[i].name, 
      "moveTo" : "dayOverview", 
      "onclick" : "test()" 
    }; 
    conferencesJson.push(x); 
} 

    var conferenceStore = new Memory({ 
     data : conferencesJson, 
     idProperty : "label" 
    }); 
    var conferenceList = new EdgeToEdgeStoreList({ 
     store : conferenceStore 
    }, "conferenceList"); 

    conferenceList.startup(); 
}); 

在我們的HTML中,我們只是有一個無序列表。

<ul id="conferenceList"></ul> 

有人能解釋爲什麼這在Firefox中起作用,並且在Chrome中不起作用嗎?

+0

只是在黑暗中拍攝這裏..檢查您的會議JSON變量適當的JSON語法。在最後一個額外的逗號總是絆倒IE瀏覽器,但不是Firefox ..不知道關於Chrome ...另外,嘗試添加conferenceList.placeAt(「conferenceList」); (); – GoinOff

+2

我找到了這個問題的答案。 我替換了這段代碼: var x = {「label」:conference.array [i] .name, 「moveTo」:「dayOverview」, 「onclick」:「test()」 }; 與: var x = {「label」:conference.array [i] .name, 「moveTo」:「dayOverview」, 「onClick」:test }; 我對onClick進行了少許更改 - 大寫C - 無引號和括號的測試 –

+0

我習慣於使用array.map,但onClick是dijit方式。 meetingJson = array.map(conference.array,function(i){return {label:i.name,moveTo:「dayOverview」,onClick:test}); –

回答

0

由於格倫不加入的答案......那就是:

替換這段代碼:
var x = {"label" : conference.array[i].name, "moveTo" : "dayOverview", "onclick" : "test()" };

有了:
var x = {"label" : conference.array[i].name, "moveTo" : "dayOverview", "onClick" : test };

差異是資本ConClick

相關問題