Локальное хранилище

Демо можно найти здесь.

Чему я научился на этом мини-проекте.

предотвращениепо умолчанию

Это полезно, если вы хотите остановить отправку формы, которая по умолчанию перенаправляет вас на страницу обработки формы.

литеральный тернарный оператор шаблона

Действительно классная функция, реализованная в этом проекте, заключалась в использовании тернарного оператора для выбора, нужно ли добавлять атрибут к тегу input.

Здесь тернарный оператор либо добавит checked, либо ничего не добавит, в зависимости от логического значения, возвращаемого из plate.done.

событие.цель

При присоединении прослушивателей событий к элементам может потребоваться доступ к данным из них.

В случае элементов формы с inputs и labels и т. д. вы не сможете различить, какой из них был нажат.

Используя event.target, а это matches метод, вы можете сузить свой выбор до нужного вам элемента.

В этом примере будут возвращены все элементы, по которым щелкнули, кроме input's.

делегация мероприятия

Если вы хотите прикрепить прослушиватель событий к элементу, который не существует при загрузке страницы, необходимо event delegation.

Эта концепция работает путем присоединения прослушивателя событий к родительскому элементу (который существует), который затем передает инструкцию (делегаты) целевому дочернему элементу.

itemsList — это родительский элемент, который делегирует инструкцию элементам event.target.

местное хранилище

Браузеры теперь имеют возможность хранить локальные данные для отдельных веб-страниц и браузеров. Данные хранятся в виде строки, которую можно преобразовать в объекты javascript.

Вы можете устанавливать и получать предметы из localStorage.

Здесь необходимо использовать JSON.stringify(), так как это позволяет преобразовать пары ключ-значение объекта в его строковое представление.

Ниже показан пример, демонстрирующий использование данных и добавление их в переменную для использования между перезагрузками браузера.

Это позволяет вашим страницам иметь преемственность, основанную на существующем поведении пользователей.

Здесь 'items' относится к строковой интерпретации объекта, а JSON.parse преобразует строку обратно в объект javascript, готовый к использованию.

Первоначально опубликовано на gist.github.com.