Data toggle что это

Модальные окна Bootstrap 3

Здравствуйте уважаемые читатели! Продолжаем уроки по bootstrap 3. Сегодня будем создавать адаптивное модальное окно, а именно модальное окно с текстом, модальное окно с формой регистрации.

Data toggle что это. Смотреть фото Data toggle что это. Смотреть картинку Data toggle что это. Картинка про Data toggle что это. Фото Data toggle что это

В предыдущей статье мы создавали адаптивное меню bootstrap 3, а на сегодняшнем уроке мы сделаем форму входа и регистрации.

Само создание адаптивного модального окна происходит с помощью каскадных таблицей стилей (CSS), атрибута data и javascript.

Bootstrap 3 модальное окно

Data toggle что это. Смотреть фото Data toggle что это. Смотреть картинку Data toggle что это. Картинка про Data toggle что это. Фото Data toggle что это

Приступаем к созданию и разметки модального окна.

Прежде всего нам нужно сделать кнопку активации модального окна, в бутстрап 3 вызов модального окна происходит с помощью атрибута data-toggle и data-target, а привязать открытие можно к ссылке или кнопке. В нашем случае открывать мы будем с помощью кнопки.

В первом случае атрибут data-toggle должен содержать значение modal, которое говорит, что кнопка которая будет вызывать будет являться модальным. Второй атрибут data-target или же в нашем случае href=»#myModal», содержит идентификатор который выбирает контейнер с содержанием адаптивного модального окна.

Теперь создаем Java код с помочью которого будет происходить открытие окна с нашим идентификатором #myModal или же с любым классом (.class).

Приступаем непосредственно к созданию самого модального окна которое будет иметь заголовок (header), основное содержание окна (body) и футера (footer) который будет содержать кнопку «Закрыть».

Ваш код должен полностью выглядеть следующим образом:

Модальное окно с формой входа

Data toggle что это. Смотреть фото Data toggle что это. Смотреть картинку Data toggle что это. Картинка про Data toggle что это. Фото Data toggle что это

Для создания такой формы входа вам нужно дополнительно в любой файл со стилями (.css) который подключен у вас в шаблоне, в конец добавить следующий код:

Ну и конечно сам код нашей формы который нужно вставить в контейнер с классом modal-body.

Из формы модального окна я удалил контейнер с футором modal-footer. В итоге полностью код выглядит следующим образом:

Ну вот и все, как видите создать адаптивное модальное окно на Bootstrap 3 не так уж и сложно.

Пишите в комментариях что хотели бы увидите в следующих уроках.

Источник

JavaScript

Обзор

Индивидуально или сборником

Плагины могут подключаться отдельно (используя отдельные файлы Bootstrap *.js ), или все за один раз (используя bootstrap.js или минимизированы bootstrap.min.js ).

Используя скомпилированный JavaScript

bootstrap.js и bootstrap.min.js оба содержат все плагины в одном файле. Подключать только один.

Зависимость плагина

Атрибуты данных

Вы можете использовать все Bootstrap плагины исключительно на основе разметки API, без необходимости писать код на JavaScript. Это является первоочередной API класс для Bootstrap и должен рассматриваться в первую очередь при использовании плагинов.

Также вы можете направить выстрела на определенный плагин, просто включив имя плагина рядом с пространством имен data api, как в примере:

Только один плагин на элемент через атрибуты данных

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

Программный API

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

Все методы должны принимать в качестве необязательного параметра или объект, или строка, который нацелен на конкретный метод, или ничего (и таким образом просто инициализировать плагин с поведением по умолчанию):

Настройки по умолчанию

Вы можете изменить параметры по умолчанию для плагина путем изменения плагина Constructor.DEFAULTS объект:

Без конфликта

События

По состоянию на 3.0.0, все события Bootstrap с именованными пространствами.

Все события в инфинитиве предоставляют preventDefault функциональность. Это дает возможность останавливать выполнение действий перед стартом.

Номера версий

В версии Bootstrap’ы плагины jQuery, которые могут быть доступны через VERSION собственность плагина конструктор. Например, для плагина подсказка:

Никаких специальных откаты, когда JavaScript отключены

Библиотеки третьих сторон

Переходы transition.js

О переходах

Для простых эффектов перехода, включите transition.js рядом с другими файлами JS. Но если вы используете общую сборку bootstrap.js (или ее минимизированный вариант), этот файл нет необходимости подключать—код уже включен.

Что внутри

Отключение переходы

Модальные окна modal.js

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

Несколько открытых модальных окон не поддерживается

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

Модальные размещения разметки

Всегда стараемся размещать модаль в HTML код в положении верхнего уровня в документе, чтобы избежать других компонентов, влияющих на внешний вид и/ или функциональность модали.

Оговорки в отношении мобильных устройств

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

Из-за как HTML5 и определяет его семантики, autofocus HTML-атрибут не влияет на Bootstrap модальные глаголы. Чтобы добиться такого же эффекта, используя пользовательские JavaScript:

Примеры

Пример статического окна

Создание модального окна с заголовком, основным содержанием, и перечнем действий в нижнем колонтитуле.

Modal title

Живое демо

Модальное окно, созданное с помощью JavaScript, задействуется кликом кнопки, что внизу. Оно будет спадать вниз и уходить вверху страницы.

Название модали

Текст модали

Моллис УДО, есть номера commodo предполагаемое luctus, ниси erat porttitor лигулы.

Информационная панель в модали

Эта кнопка должна вызвать popover на клик.

Подсказки в модали

Эта ссылка и эта ссылка должны иметь подсказки при наведении курсора мыши.

Переполнение текстом, чтобы показать поведение с прокруткой

Кра маттис миннеаполис пурус сидеть амет любого fermentum.. Одио хусто Кра, dapibus AC и это в, egestas егет квам. Морби Лео рисус, порта переменного тока миннеаполис переменного тока, преддверия на Эрос.

Praesent commodo курсус «магна», ООО «нисл» scelerisque миннеаполис эт. Vivamus sagittis lacus Вэл augue laoreet взгляд долор auctor faucibus.

Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.

Кра маттис миннеаполис пурус сидеть амет любого fermentum.. Одио хусто Кра, dapibus AC и это в, egestas егет квам. Морби Лео рисус, порта переменного тока миннеаполис переменного тока, преддверия на Эрос.

Praesent commodo курсус «магна», ООО «нисл» scelerisque миннеаполис эт. Vivamus sagittis lacus Вэл augue laoreet взгляд долор auctor faucibus.

Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.

Кра маттис миннеаполис пурус сидеть амет любого fermentum.. Одио хусто Кра, dapibus AC и это в, egestas егет квам. Морби Лео рисус, порта переменного тока миннеаполис переменного тока, преддверия на Эрос.

Praesent commodo курсус «магна», ООО «нисл» scelerisque миннеаполис эт. Vivamus sagittis lacus Вэл augue laoreet взгляд долор auctor faucibus.

Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.

Сделайте модали доступными

Вложения видео YouTube

Вложение YouTube видео в модали требует дополнительных настроек не в Bootstrap, автоматически остановки воспроизведение и другое. Ознакомиться с этой полезной переполнение стека пост для подробной информации.

Дополнительные размеры

Large modal

Small modal

Удаление анимации

С помощью блочной системы

Название модали

Различные модальные содержание, основанное на кнопку пуска

New message

Использование

Через атрибуты данных

Через JavaScript

Вызывайте модаль с помощью id myModal с лаконичной записью на JavaScript:

Параметры

Этот параметр является устаревшим, начиная с версии V3.3.0 и была удалена в версии v4. вместо этого мы рекомендуем использовать шаблоны на стороне клиента или связывание данных фреймворк, или вызов на jQuery.загрузить себя.

Методы

.modal(options)

.modal(‘toggle’)

Ручное переключение модали. Возвращается к инициатору перед фактическим показом или сокрытием модали (то есть, перед запуском событий shown.bs.modal или hidden.bs.modal ).

.modal(‘show’)

Ручное отображения модали. Возвращается к инициатору перед фактическим показом или сокрытием модали (то есть, перед запуском событий shown.bs.modal ).

.modal(‘hide’)

Ручное сокрытие модали. Возвращается к инициатору перед фактическим показом или сокрытием модали (то есть, перед запуском событий hidden.bs.modal ).

.modal(‘handleUpdate’)

Корректирует позиционирование модального противостоять полосы прокрутки в случае, если один должен появиться, что бы модальное прыжок влево.

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

События

Класс для модалей в Bootstrap предоставляет несколько событий, чтобы обеспечить функциональность модали.

Все модальные событий в самой модальной (т. е.

Выпадающее меню dropdown.js

Примеры

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

Внутри навигационной панели

Внутри навигационных кнопок

Использование

Примечание: data-toggle=»dropdown» атрибут является основанием для закрытия выпадающего меню на уровне приложения, так что это хорошая идея, чтобы всегда использовать его.

Через атрибуты данных

Добавьте data-toggle=»dropdown» ссылок или кнопок для возможности переключения выпадающего меню.

Через JavaScript

Вызывайте выпадающее меню через JavaScript:

data-toggle=»dropdown» еще требуется

Независимо от того, вызываете вы выпадающий эффект через JavaScript или вместо этого использовуете, data-api, data-toggle=»dropdown» всегда должен присутствовать на пусковом элементе в выпадающем окне.

Параметры

Методы

$().dropdown(‘toggle’)

Переключайте выпадающее меню в навигационных панелях или навигационных вкладках.

События

Все выпадающие события relatedTarget свойство, значением которого является переключение элемента привязки.

Тип СобытияОписание
show.bs.dropdownЭто событие немедленно срабатывает при вызове метода экземпляра-шоу называется.
shown.bs.dropdownЭто событие запускается, когда выпадающее меню становится видимым для пользователя (будет ждать CSS переходы для завершения).
hide.bs.dropdownЭто событие немедленно уволили, когда скрывать метод экземпляра называется.
hidden.bs.dropdownЭто событие срабатывает, когда выпадающее меню завершит скрытие пунктов меню от пользователя (при этом ожидается завершение навигации CSS).

Отслеживание прокрутки scrollspy.js

Пример с навигационной панелью

Плагин ScrollSpy (переводится как Отслеживание Прокрутки) предназначен для автоматического обновления навигационного нахождения, которое базируется на позиции прокрутки страницы. В нижнем примере прокрутите область под навигационной панелью и проспостерігайте за переходом активного класса между ее пунктами. Подпункты в ниспадающем меню также будут подсвечены при прокрутке.

Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney’s photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven’t heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.

Veniam marfa mustache skateboard, adipisicing fugiat velit pitchfork beard. Freegan beard aliqua cupidatat mcsweeney’s vero. Cupidatat four loko nisi, ea helvetica nulla carles. Tattooed cosby sweater food truck, mcsweeney’s quis non freegan vinyl. Lo-fi wes anderson +1 sartorial. Carles non aesthetic exercitation quis gentrify. Brooklyn adipisicing craft beer vice keytar deserunt.

Occaecat commodo aliqua delectus. Fap craft beer deserunt skateboard ea. Lomo bicycle rights adipisicing banh mi, velit ea sunt next level locavore single-origin coffee in magna veniam. High life id vinyl, echo park consequat quis aliquip banh mi pitchfork. Vero VHS est adipisicing. Consectetur nisi DIY minim messenger bag. Cred ex in, sustainable delectus consectetur fanny pack iphone.

In incididunt echo park, officia deserunt mcsweeney’s proident master cleanse thundercats sapiente veniam. Excepteur VHS elit, proident shoreditch +1 biodiesel laborum craft beer. Single-origin coffee wayfarers irure four loko, cupidatat terry richardson master cleanse. Assumenda you probably haven’t heard of them art party fanny pack, tattooed nulla cardigan tempor ad. Proident wolf nesciunt sartorial keffiyeh eu banh mi sustainable. Elit wolf voluptate, lo-fi ea portland before they sold out four loko. Locavore enim nostrud mlkshk brooklyn nesciunt.

three

Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney’s photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven’t heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.

Keytar twee blog, culpa messenger bag marfa whatever delectus food truck. Sapiente synth id assumenda. Locavore sed helvetica cliche irony, thundercats you probably haven’t heard of them consequat hoodie gluten-free lo-fi fap aliquip. Labore elit placeat before they sold out, terry richardson proident brunch nesciunt quis cosby sweater pariatur keffiyeh ut helvetica artisan. Cardigan craft beer seitan readymade velit. VHS chambray laboris tempor veniam. Anim mollit minim commodo ullamco thundercats.

Использование

Требуется Bootstrap nav

В настоящее время Scrollspy требует использования Bootstrap компонент навигация для правильного выделения активных ссылок.

Необходимо соответствие между ID и его линку

Навигационная панель должна иметь соответствие между ID и его ссылке. Например, home должен иметь соответствие в DOM с

Номера- :visible целевые элементы игнорируются

Целевые элементы, которые не являются :visible ПО для jQuery будут проигнорированы и соответствующие им навигационные элементы никогда не будет выделен.

Требуется относительное позиционирование

Через атрибуты данных

Через JavaScript

После добавления position: relative; в вашу CSS, вызвать scrollspy через JavaScript:

Методы

.scrollspy(‘refresh’)

При использовании Отслеживание прокрутки в сочетании с добавлением или удалением элементов из DOM, вам нужно вызвать обновляющий метод, как в примере:

Параметры

НазваниеТипПо умолчаниюОписание
offsetnumber10Пикселей отступ от верхней при расчете позиции прокрутки.

События

Тип СобытияОписание
activate.bs.scrollspyЭто событие срабатывает каждый раз, когда новый элемент активируется при прокрутке.

Переход по вкладкам tab.js

Пример вкладок

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

Raw denim you probably haven’t heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.

Food truck fixie locavore, accusamus mcsweeney’s marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda labore aesthetic magna delectus mollit. Keytar helvetica VHS salvia yr, vero magna velit sapiente labore stumptown. Vegan fanny pack odio cillum wes anderson 8-bit, sustainable jean shorts beard ut DIY ethical culpa terry richardson biodiesel. Art party scenester stumptown, tumblr butcher vero sint qui sapiente accusamus tattooed echo park.

Etsy mixtape wayfarers, ethical wes anderson tofu before they sold out mcsweeney’s organic lomo retro fanny pack lo-fi farm-to-table readymade. Messenger bag gentrify pitchfork tattooed craft beer, iphone skateboard locavore carles etsy salvia banksy hoodie helvetica. DIY synth PBR banksy irony. Leggings gentrify squid 8-bit cred pitchfork. Williamsburg banh mi whatever gluten-free, carles pitchfork biodiesel fixie etsy retro mlkshk vice blog. Scenester cred you probably haven’t heard of them, vinyl craft beer blog stumptown. Pitchfork sustainable tofu synth chambray yr.

Trust fund seitan letterpress, keytar raw denim keffiyeh etsy art party before they sold out master cleanse gluten-free squid scenester freegan cosby sweater. Fanny pack portland seitan DIY, art party locavore wolf cliche high life echo park Austin. Cred vinyl keffiyeh DIY salvia PBR, banh mi before they sold out farm-to-table VHS viral locavore cosby sweater. Lomo wolf viral, mustache readymade thundercats keffiyeh craft beer marfa ethical. Wolf salvia freegan, sartorial keffiyeh echo park vegan.

Расширение навигационных вкладок

Этот плагин расширяет компонент навигационных вкладок, добавляя область переходов.

Использование

Включение области навигации, вкладок через JavaScript (каждая вкладка требует индивидуальной активации):

Вы можете индивидуально активировать вкладку используя несколько способов:

Разметка

Эффект угасания

Методы

Активирует вкладку элемент и содержимого контейнера. Вкладка должна иметь либо data-target или href таргетинг узла контейнера на DOM. В приведенных выше примерах, вкладки с data-toggle=»tab» атрибутами.

.tab(‘show’)

Выбирает вкладку и показывает его содержимое. Любой другой вкладке, что ранее был выбран снимается и его содержимое скрыто. Возвращает абоненту до панели вкладки фактически доказано (т. е. shown.bs.tab события).

События

При показе новой вкладке, события возникают в следующем порядке:

Если вкладка не активная, то hide.bs.tab hidden.bs.tab события не уволят.

Подсказки tooltip.js

Вдохновленные замечательным плагином jQuery.tipsy, написанным Jason Frame; Подсказки является обновленной версией, которая не использует изображение, использует CSS3 для анимации, и атрибуты данных для хранения локальных заголовков.

Подсказки с нулевой длины названия не отображаются.

Примеры

Наведите курсор мыши на ссылки текста внизу, чтобы увидеть подсказки:

Tight pants next level keffiyeh you probably haven’t heard of them. Photo booth beard raw denim letterpress vegan messenger bag stumptown. Farm-to-table seitan, mcsweeney’s fixie sustainable quinoa 8-bit american apparel have a terry richardson vinyl chambray. Beard stumptown, cardigans banh mi lomo thundercats. Tofu biodiesel williamsburg marfa, four loko mcsweeney’s cleanse vegan chambray. A really ironic artisan whatever keytar, scenester farm-to-table banksy Austin twitter handle freegan cred raw denim single-origin coffee viral.

Статические подсказки

Доступны четыре варианта: сверху, справа, снизу и выровнен по левому краю.

Источник

Полное руководство по HTML-атрибутам data-*

Data toggle что это. Смотреть фото Data toggle что это. Смотреть картинку Data toggle что это. Картинка про Data toggle что это. Фото Data toggle что это

Общие сведения

HTML-элементы могут иметь атрибуты, которые используются для решения самых разных задач — от предоставления данных ассистивным технологиям, до стилизации элементов.

При этом не рекомендуется создавать собственные атрибуты, или применять существующие атрибуты такими способами, на которые они не рассчитаны.

Это плохо по многим причинам. HTML-код оказывается неправильно сформированным. И хотя подобное может и не иметь реальных негативных последствий, это лишает разработчика тёплого чувства вызываемого тем, что он создаёт валидный HTML-код. Но главная причина того, что так поступать не следует, заключается в том, что HTML — это язык, который постоянно развивается. В результате, если некий атрибут сегодня в языке не применяется, это не значит, что в будущем ничего не изменится.

Синтаксис

Можно ли использовать атрибут, имеющий имя data?

Вот пример кода, в котором используется атрибут с именем data :

Атрибут с таким именем, вероятно, никому не повредит, но его применение не позволит пользоваться JavaScript-инструментами, которые мы рассмотрим ниже. В этом примере разработчик, фактически, создаёт некий собственный атрибут, что, как уже было сказано, делать не рекомендуется.

Чего не стоит делать с атрибутами data-*

Вот материал о том, как скрывать элементы веб-страниц.

Стилизация элементов с использованием атрибутов data-*

В CSS можно выбирать HTML-элементы, основываясь на атрибутах и их значениях.

Это может показаться интересным. Для стилизации в HTML/CSS используются, в основном, классы. И хотя классы — это замечательный инструмент (они отличаются средним уровнем специфичности, с ними можно работать с помощью удобных JavaScript-методов через свойство элементов classList ), элемент может либо иметь, либо не иметь некоего класса (то есть, класс в элементе либо «включен», либо «выключен»). При использовании атрибутов data-* в распоряжении разработчика оказываются и возможности классов («включено/выключено»), и возможность выбора элементов, основываясь на значении атрибута, которое он имеет на том же уровне специфичности.

Специфичность селекторов атрибутов

Специфичность селекторов атрибутов такая же, как у классов. Специфичность часто рассматривают как значение, состоящее из 4 частей:

А вот ещё один селектор:

Вот, чтобы было понятнее, иллюстрированная версия этих рассуждений.

Data toggle что это. Смотреть фото Data toggle что это. Смотреть картинку Data toggle что это. Картинка про Data toggle что это. Фото Data toggle что это

1 тег, 1 класс и 1 атрибут

У селекторов атрибутов специфичность ниже, чем у идентификаторов ( ID ), но выше, чем у тегов (элементов). Их специфичность равна специфичности классов.

Значения атрибутов, нечувствительные к регистру

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

Вывод данных, хранящихся в атрибутах data-*

CSS позволяет извлекать значения атрибутов data-* и выводить их на странице.

Примеры использования атрибутов data-* для стилизации элементов

Вот соответствующий CSS-код:

А вот — фрагмент результирующей страницы.

Data toggle что это. Смотреть фото Data toggle что это. Смотреть картинку Data toggle что это. Картинка про Data toggle что это. Фото Data toggle что это

Grid-контейнеры, настройка которых производится с помощью атрибутов data-*

Поэкспериментировать с этим примером можно на CodePen.

Работа с атрибутами data-* в JavaScript

К значениям атрибутов data-* можно обращаться, как и к значениям других атрибутов, пользуясь методом getAtribute для чтения данных, и методом setAttribute для записи.

Однако атрибуты data-* имеют и собственный особый API. Предположим, у нас есть элемент с несколькими атрибутами data-* (что совершенно нормально):

Если имеется ссылка на этот элемент, то читать и записывать значения его атрибутов можно так:

В JavaScript можно работать и со встроенными в элементы наборами данных:

А почему бы не записать в атрибут data-* JSON-данные? Ведь это всего лишь строки, которые можно отформатировать как валидные JSON-данные (учитывая кавычки и прочее). При необходимости эти данные можно извлечь из атрибута и распарсить.

Об использовании атрибутов data-* в JavaScript

Распространённый вариант реализации этого сценария направлен на организацию работы с базами данных. Предположим, у нас имеется кнопка Like :

Итоги

Уважаемые читатели! Как вы применяете HTML-атрибуты data-*?

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *