#javascript #events #dojo #handler
#javascript #Мероприятия #dojo #обработчик
Вопрос:
Я создаю EdgeToEdgeStoreList из dojox/mobile
следующим образом:
<ul id="listCustomers"></ul>
storeCustomers = new Memory({data: data, idProperty: "label"});
var listCustomers = new EdgeToEdgeStoreList({
select: "single",
store: storeCustomers
}, "listCustomers");
listCustomers.startup();
затем я хочу обработать onCheckStateChanged
событие:
var listCustomers = dom.byId("listCustomers");
on(listCustomers, "checkStateChanged", function (listItem, newState) {
console.log(listItem, newState);
});
но это никогда не срабатывает.
Каков правильный метод?
Это также хороший способ получить массив выбранных элементов (только один в моем конкретном случае, конечно).
Ответ №1:
Это можно сделать двумя способами: либо использовать listitems onclick, либо, если вы хотите использовать checkStateChanged, вы должны добавить этот виджет прослушивателя.
var listCustomers = dijit.registry.byId("listCustomers");
on(listCustomers, "checkStateChanged", function (listItem, newState) {
console.log(listItem, newState);
});
Комментарии:
1. Это работает. Единственное отличие было в том, что я повторно загрузил элемент DOM, а не dijit.