2013-05-21 44 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

相关问题