Приведённый пример (скопирован 1 в 1 из документации) состоит из одного лишь только HTML-кода. Alert прекрасно закрывается без единой строчки самостоятельно написанного JS-кода (пример на JSFiddle).
Но тогда возникает вопрос: зачем же нужен метод $('.alert').alert()? В документации сказано:
Not necessary when using the data-api’s auto-initialization.
но я не понял, что это за data-api’s auto-initialization
Ответ
Бутстрап предусмотрел два способа использовать свои JS плагины:
Написать скрипт с помощью методов и событий из документации Бутстрапа.
Расставить атрибуты data, как указано в документации.
Во втором случае Бутстрап запустит всё сам, а данные, необходимые для инициализации и работы, возьмёт из data атрибутов. Именно это и подразумевает фраза, которую вы процитировали.
Вы можете выбрать, какой способ вам больше подходит, или объединить их: базовое поведение инициализировать через data атрибуты, а остальное запрограммировать скриптом.
Авто-инициализация не сработает, если HTML-блок добавляется скриптом после загрузки страницы. Тогда придётся запускать вручную, через $('.alert').alert(), например.
И, если нужно, авто-инициализацию можно отключить полностью
$(document).off('.data-api')
или для какого-нибудь конкретного плагина
$(document).off('.alert.data-api')
Комментариев нет:
Отправить комментарий