обрабатывать событие dojo EdgeToEdgeStoreList

#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.