При попытке нашего приложения Worklight в Firefox и Chrome мы заметили, что в Chrome событие onclick
по элементу нашего EdgeToEdgeStoreList
не работает. В 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()" }; с: вар х = { "метка": conference.array [I] .name, "MoveTo": "dayOverview", "OnClick": тест- }; Я сделал несколько изменений в onClick: - столица C - тест без кавычек и скобок –
стилистически Я делаю привычку использовать array.map, но onClick - это путь dijit. conferenceJson = array.map (conference.array, function (i) {return {label: i.name, moveTo: "dayOverview", onClick: test}); –