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中不起作用吗?
只是在黑暗中拍摄这里..检查您的会议JSON变量适当的JSON语法。在最后一个额外的逗号总是绊倒IE浏览器,但不是Firefox ..不知道关于Chrome ...另外,尝试添加conferenceList.placeAt(“conferenceList”); (); – GoinOff
我找到了这个问题的答案。 我替换了这段代码: var x = {“label”:conference.array [i] .name, “moveTo”:“dayOverview”, “onclick”:“test()” }; 与: var x = {“label”:conference.array [i] .name, “moveTo”:“dayOverview”, “onClick”:test }; 我对onClick进行了少许更改 - 大写C - 无引号和括号的测试 –
我习惯于使用array.map,但onClick是dijit方式。 meetingJson = array.map(conference.array,function(i){return {label:i.name,moveTo:“dayOverview”,onClick:test}); –