Задать вопрос

Есть хорошие примеры использования data-*?

Подскажите хорошие туториалы или примеры использования data-* атрибутов.
Чем вообще это хорошо использовать и где применять?
  • Вопрос задан
  • 233 просмотра
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 4
@yuras666
Удобнее всего работать с ними через jquery data - это решит проблему совместимости со всеми браузерами.
https://api.jquery.com/data/
Например у нас есть кнопки по клику на которые у нас должны открываться попапы:
<button type="button" data-open-dialog="#bs-example-1-dialog">Окно 1</button>
<button type="button" data-open-dialog="#bs-example-1-dialog">Окно 1</button>
<button type="button" data-open-dialog="#bs-example-1-dialog">Окно 1</button>

Далее, мы можем в js описать только один обработчик:
$(document).on('click', '[data-open-dialog]', function(){
   showPopupById($(this).data('openDialog'));
});

Кроме того, ты можешь хранить в data любой json, приводя пример с тем же попапом, можно хранить данные об объекте и строить из них попап после клика на кнопку.
Еще пример jquery плагины часто ставят флаг о том, что они уже установлены на элементе, чтобы избежать повторной инициализации. Скажем $('#search-input').autocomplete() при первой инициализации запишет элементу $('#search-input').data('isAutocompleteInstall', true) и инициализирует элемент, а при втором вызове уже не будет инициализироваться по новой. Как-то так, если я верно понял твой вопрос.
Ответ написан
petermzg
@petermzg
Самый лучший программист
В input элементах форм, для дальнейшей валидации.
<input name='name' data-required='Необходимо задать имя обьекта' />

есть атрибут data-required значит поле обязательное, для информации можем вывести содержимое атрибута.
Ответ написан
Комментировать
pawlek
@pawlek Автор вопроса
Петр в чем приемущество от использования вашего примера от этого например?
<input name='name' title='Необходимо задать имя обьекта' required />


при чем data-required пропустит дальше, а required нет.
Ответ написан
sabramovskikh
@sabramovskikh
Использую, когда нужно передать данные аяксом.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы