en.javascript.info/02-ui/05-widgets/05-custom-events/02-selectable-list-evented/solution.md
Ilya Kantor f301cb744d init
2014-10-26 22:10:13 +03:00

1.2 KiB
Raw Blame History

[edit src="solution"/]

Обратите внимание:

  • `onLiClick` не генерирует событие `select`. Это обработчик, его роль -- разобраться, что происходит, и передать работу нужным методам.
  • В событие передаётся массив значений `value`. Код виджета производит всю работу по подготовке этого значения. Было бы совершенно недопустимо, хотя это проще, передавать массив выбранных `LI`. Вообще, элементы -- это внутреннее дело компонента, они могут измениться в любой момент, доступ к ним снаружи крайне нежелателен.
  • Код получения значений вынесен в отдельную функцию `getValues` -- для чистоты (каждая функция делает свою работу), и потому что скорее всего она ещё где-то понадобится.